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
के साथ, यह ज्यादातर पाठ को स्वरूपित करने के बारे में है, लेकिन हे, यह संख्याओं को गोल करता है, इसलिए हम शिकायत नहीं कर रहे हैं।
और देखें
और अधिक के लिए जो उत्सुक हैं:
- GNU
bc
मैनुअल: https://www.gnu.org/software/bc/manual/html_mono/bc.html - Bash
printf
कमांड: https://www.gnu.org/software/bash/manual/html_node/Bash-Builtins.html#index-printf - AWK उपयोगकर्ता की गाइड (गोल करने और अन्य पाठ संसोधन के लिए): https://www.gnu.org/software/gawk/manual/gawk.html
- और Bash गणित, स्क्रिप्टिंग, और संख्या चालें: https://mywiki.wooledge.org/BashFAQ/022