3.6 के रूप में (शायद थोड़ा पुराने 3.x के साथ भी काम करता है), यह मेरा समाधान है:
import locale
locale.setlocale(locale.LC_ALL, '')
def number_format(n, dec_precision=4):
precision = len(str(round(n))) + dec_precision
return format(float(n), f'.{precision}n')
precision
गणना का उद्देश्य यह सुनिश्चित करना है कि हमारे पास वैज्ञानिक संकेतन से बाहर रहने के लिए पर्याप्त सटीकता है (डिफ़ॉल्ट परिशुद्धता अभी भी 6 है)।
dec_precision
तर्क दशमलव अंक के लिए उपयोग करने के लिए अतिरिक्त परिशुद्धता कहते हैं। चूंकि यह n
प्रारूप का उपयोग करता है, इसलिए कोई तुच्छ शून्य जोड़ा नहीं जाएगा ( f
प्रारूपों के विपरीत )। n
दशमलव के बिना पहले से ही पूर्णांक पूर्णांक प्रदान करने का भी ध्यान रखेगा।
n
float
इनपुट की आवश्यकता है, इस प्रकार कलाकारों।