संख्या फ़ॉर्मेटर

अल्पविराम, संक्षिप्ताक्षर, मुद्रा प्रतीकों और कस्टम दशमलव के साथ संख्याओं को फ़ॉर्मेट करें।

यह कैसे काम करता है

  1. अपनी संख्या दर्ज करें: एक संख्यात्मक मान टाइप या पेस्ट करें, पूर्णांक, दशमलव, बड़ी संख्याएँ या वैज्ञानिक नोटेशन।
  2. प्रारूप विकल्प चुनें: अपनी स्थानीयता (US, EU, आदि), दशमलव की संख्या, समूह विभाजक चुनें।
  3. फ़ॉर्मेट किया गया परिणाम कॉपी करें: संख्या चुने गए प्रारूप में तुरंत प्रदर्शित होती है।

नंबर फ़ॉर्मेटर क्यों इस्तेमाल करें?

संख्याओं का अर्थ स्थानीयताओं के अनुसार अलग होता है। अमेरिका एक हज़ार को 1,000.00 लिखता है जबकि कई यूरोपीय देश 1.000,00 लिखते हैं।

विशेषताएँ

अक्सर पूछे जाने वाले प्रश्न

US और यूरोपीय संख्या प्रारूप में क्या अंतर है?

अमेरिका में, दशमलव विभाजक बिंदु (.) है और हज़ारों विभाजक कॉमा (,), जैसे 1,234.56। अधिकांश यूरोप में इसका उल्टा है।

क्या मैं मुद्राओं के लिए संख्याएँ फ़ॉर्मेट कर सकता हूँ?

हाँ। मुद्रा मोड सक्षम करें और फ़ॉर्मेट की गई संख्या से पहले उपसर्ग करने के लिए एक प्रतीक ($ € £ ¥, आदि) चुनें।

क्या यह बहुत बड़ी या बहुत छोटी संख्याओं को संभालता है?

हाँ। फ़ॉर्मेटर बहु-अंकीय संख्याओं को संभालता है और उन्हें मानक, समूहीकृत या वैज्ञानिक नोटेशन में प्रदर्शित कर सकता है।

नंबर फॉर्मेटिंग मानक कहाँ से आते हैं

आज सॉफ़्टवेयर में जो नंबर फॉर्मेट आप देखते हैं वे मानकों के एक छोटे ढेर से परिभाषित हैं जिसे स्थिर होने में तीस साल लगे। IEEE 754 (1985), 2008 और 2019 में संशोधित, ने बाइनरी फ्लोटिंग-पॉइंट संख्याओं का बिट लेआउट तय किया: 64 बिट 1 चिह्न, 11 घातांक, 52 मांटिसा में विभाजित, जो कि हुड के नीचे हर JavaScript नंबर है। ISO 4217 (1978, वर्तमान संस्करण 2015) ने तीन-अक्षर मुद्रा कोड परिभाषित किए, USD, EUR, JPY, INR, BRL, और प्रत्येक के पास कितनी छोटी इकाइयाँ हैं (USD के लिए 2, JPY के लिए 0, KWD के लिए 3, CLF के लिए 4)। Unicode CLDR (Common Locale Data Repository), पहली बार 2003 में जारी, खुला डेटासेट है जो हर लोकेल के लिए समूह विभाजक, दशमलव विभाजक, मुद्रा प्रतीक और बहुवचन नियम रिकॉर्ड करता है; वर्तमान रिलीज CLDR 46 (अक्टूबर 2024) है। ECMA-402 (2012), ECMAScript अंतर्राष्ट्रीयकरण API, ने JavaScript को उस डेटा से Intl.NumberFormat के माध्यम से एक देशी बंधन दिया, जो V8, JavaScriptCore, और SpiderMonkey में ICU (International Components for Unicode) द्वारा समर्थित है। एक साथ वे चार स्पेक्स वही हैं जो (1234567).toLocaleString('de-DE') को 1,234,567 के बजाय 1.234.567 लौटाने पर मजबूर करते हैं।

छह लोकेल पैटर्न जो आपको मिलेंगे

जंगल में अधिकांश नंबर फॉर्मेट छह पैटर्न में आते हैं। इन छह को याद रखना किसी भी वैश्विक उत्पाद के उपयोगकर्ता आधार का ~95% कवर करता है।

राउंडिंग मोड, वे वास्तव में क्या करते हैं

ECMA-402 (2023) ने Intl.NumberFormat में नौ राउंडिंग मोड जोड़े। चुनाव वित्तीय कुल, वैज्ञानिक रिपोर्ट और कर गणना बदलता है। व्यवहार में तीन सबसे अधिक मायने रखते हैं।

जहाँ यह उपकरण अपना मूल्य कमाता है

गलतियाँ जो अनुभवी डेवलपर्स को भी काटती हैं

अधिक अक्सर पूछे जाने वाले प्रश्न

0.1 + 0.2 0.3 के बराबर क्यों नहीं है?

क्योंकि IEEE 754 बाइनरी फ्लोट दशमलव भिन्न 0.1 को सटीक रूप से संग्रहीत नहीं कर सकते, उसी तरह जैसे आधार 10 1/3 को सटीक रूप से संग्रहीत नहीं कर सकता। 0.1 के निकटतम 64-बिट double लगभग 0.1000000000000000055511151231257827021181583404541015625 है। दो ऐसे अनुमानों को जोड़ने से एक परिणाम मिलता है जो 0.3 के बजाय 0.30000000000000004 तक राउंड होता है। हर IEEE 754 भाषा में यह व्यवहार है: Java, Python, C++, Swift, सभी। सटीक दशमलव अंकगणित के लिए, पूर्णांक सेंट या decimal.js / Python के Decimal / Java के BigDecimal जैसी लाइब्रेरी का उपयोग करें।

Intl.NumberFormat और toLocaleString में क्या अंतर है?

समान इंजन, अलग एर्गोनॉमिक्स। (1234.5).toLocaleString('de-DE', {style: 'currency', currency: 'EUR'}) और new Intl.NumberFormat('de-DE', {style: 'currency', currency: 'EUR'}).format(1234.5) समान आउटपुट उत्पन्न करते हैं। अंतर: Intl.NumberFormat पुन: उपयोग योग्य है, इसलिए यदि आप समान विकल्पों के साथ कई नंबर फॉर्मेट करते हैं, एक बार इंस्टेंशिएट करें और कैश करें। toLocaleString हर कॉल पर कंस्ट्रक्टर विकल्पों को पढ़ता है और तंग लूप में नाटकीय रूप से धीमा है।

भारतीय संख्या प्रणाली कैसे काम करती है?

भारतीय अंग्रेजी और हिंदी अंकों को 3-3-3 के बजाय 2-2-3 पैटर्न में समूहित करती हैं: सबसे दाहिने तीन अंक, फिर दो के समूह। 100,000 को 1,00,000 लिखा जाता है और इसे एक लाख (10⁵) कहा जाता है। 10,000,000 को 1,00,00,000 लिखा जाता है और इसे एक करोड़ (10⁷) कहा जाता है। Intl.NumberFormat('en-IN').format(12345678) 1,23,45,678 लौटाता है। सिस्टम अरब (10⁹) और खरब (10¹¹) तक विस्तारित होता है हालांकि वे आधुनिक उपयोग में दुर्लभ हैं।

यह उपकरण कितनी बड़ी संख्या संभाल सकता है?

Number.MAX_SAFE_INTEGER = 2⁵³ − 1 = 9,007,199,254,740,991 तक, कोई भी पूर्णांक एक राउंड ट्रिप को बिल्कुल जीवित रहता है। उसके आगे, परिशुद्धता रिसने लगती है। JSON.parse("9007199254740993") 9007199254740992 लौटाता है, निकटतम प्रतिनिधित्व योग्य double। बड़े मूल्यों के लिए, उन्हें BigInt शाब्दिक के रूप में चिपकाएं (अंत में n के साथ) या उन्हें स्ट्रिंग के रूप में मानें। फॉर्मेटर दोनों स्वीकार करता है।

क्या मेरा नंबर कहीं भेजा जाता है?

नहीं। Intl.NumberFormat और लोकेल डेटा आपके ब्राउज़र के साथ शिप होते हैं; पूरी पाइपलाइन स्थानीय रूप से चलती है। DevTools में नेटवर्क टैब खोलें और एक नंबर फॉर्मेट करें, आप शून्य आउटबाउंड अनुरोध देखेंगे। वेतन, राजस्व, खाता शेष, या किसी भी डेटा के लिए सुरक्षित जिसे आप होस्ट की गई सेवा में नहीं चिपकाएंगे।

संबंधित टूल

संख्या आधार कनवर्टर प्रतिशत कैलकुलेटर मुफ़्त वैज्ञानिक कैलकुलेटर चक्रवृद्धि ब्याज कैलकुलेटर