मैं Cygwin के इतालवी स्थानीयकरण का उपयोग, और इसलिए मेरी printf आदेश अलग तैरता करने के लिए अल्पविराम का उपयोग करता है, और डॉट-अलग तैरतामैं printf कमांड में दशमलव विभाजक को बैश में कैसे बदलूं?
$ printf "%f" 3.1415
-bash: printf: 3.1415: invalid number
0,000000
$ printf "%f" 3,1415
3,141500
यह कई समस्याओं को जन्म देता है समझ में नहीं होगा, क्योंकि मूल रूप से सब कुछ एक बिंदु का उपयोग करता है दशमलव अंक अलग करने के लिए।
मैं दशमलव सेपरेटर को अल्पविराम से डॉट में कैसे बदल सकता हूं?
तुम सिर्फ सेट कर सकते हैं 'LC_NUMERIC =" en_US.UTF- 8 "', लेकिन यह पूरे सिस्टम में सेटिंग को नहीं बदलता है, लेकिन स्क्रिप्ट या खोल के दायरे में सेटिंग में किया जाता है। इसके अलावा, आप केवल 'LC_NUMERIC = "en_US द्वारा कमांड के लिए लोकेल बदल सकते हैं। यूटीएफ -8 "printf"% f "3.1415'। – jarno
एक बेहतर (आईएमओ) समाधान के लिए नीचे उत्तर देखें जो आपके द्वारा इंस्टॉल किए गए लोकेशंस से स्वतंत्र रूप से काम करता है। – mav