संख्याओं को पूर्णांक बनाना

Bash:
संख्याओं को पूर्णांक बनाना

कैसे करें:

यहाँ Bash में गोल करना कैसे किया जाता है, की जानकारी है:

# 'floor' का उपयोग करके नीचे की ओर गोल करें
echo "scale=0; 3.49/1" | bc

# 'ceiling' का उपयोग करके ऊपर की ओर गोल करें
echo "scale=0; 3.01/1" | bc -l

# सबसे नजदीकी पूर्णांक में गोल करें उपयोग करते हुए printf
printf "%.0f\n" 3.49

# bc का उपयोग करके सबसे नजदीकी पूर्णांक में गोल करने का एक तरीका
echo "(3.49+0.5)/1" | bc

सैम्पल आउटपुट—सीधे टर्मिनल के मुख से:

3  # नीचे की ओर गोल किया (floor)
4  # ऊपर की ओर गोल किया (ceiling)
3  # सबसे नजदीकी में गोल किया (printf का उपयोग करके)
3  # सबसे नजदीकी में गोल किया (bc का उपयोग करके)

गहराई से जानकारी

पहले के दिनों में, Bash स्क्रिप्ट में bc या printf नहीं था जो गणित का जादू कर सके। पुराने जमाने के लोगों को बाहरी उपकरणों पर निर्भर रहना पड़ता था या चतुराई से काम करने वाले उपायों का सहारा लेना पड़ता था। अब, bc आपको सटीक गणित करने देता है। ध्यान रखें, bc मूलतः गोल नहीं करता—वह नीचे की ओर गोल करता है। स्केल भाग दशमलव बिंदु क्रिया को निर्धारित करता है।

विकल्प? आप bc के बजाय awk का उपयोग करके गोल कारण कर सकते हैं या अधिक भारी गणितीय आवश्यकताओं के लिए perl के साथ जूझ सकते हैं। मासोचिस्टिक के लिए, चलो कहते हैं, पुनरावृत्ति स्ट्रिंग मैनिपुलेशन के साथ शुद्ध Bash जाएँ – लेकिन क्यों?

जहाँ तक विवरण का सवाल है, bc सिर्फ गोल नहीं करता, यह ढेर सारी गणितीय चीजों को करता है—इसे स्केल करें, साइन करें, sqrt करें, नाम लें और यह करें। printf के साथ, यह ज्यादातर पाठ को स्वरूपित करने के बारे में है, लेकिन हे, यह संख्याओं को गोल करता है, इसलिए हम शिकायत नहीं कर रहे हैं।

और देखें

और अधिक के लिए जो उत्सुक हैं: