दिलचस्प पोस्ट
जब एक नया पृष्ठ का अनुरोध किया जाता है तो एक्सप्रेस (नोड.जेएस) के साथ AngularJS मार्गों का उपयोग कैसे करें? कस्टम QuerySet और प्रबंधक DRY को तोड़ने के बिना? जावा 8: दो स्थानीय डेटटाइम के बीच अंतर की गणना करें HTML पृष्ठ लोड करने के लिए JSONP का उपयोग करें क्या विंडोज फोन 8 पर यूआरआई प्रोटोकॉल मौजूद हैं? स्विफ्ट संख्यात्मक और सीजीएफ्लॉट (सीपी पॉइंट, सीजीआरएक्ट, आदि) सीमके: एक कस्टम लिंकर का उपयोग करें जावास्क्रिप्ट में क्लास-आधारित ऑब्जेक्ट्स का कोई तरीका नहीं है? PHPUnit के साथ संरक्षित विधियों का परीक्षण करने के लिए सर्वोत्तम प्रथाएं JQuery। संपादित पाठ के बाद textarea में संलग्न नहीं है मान मान मान्य करें @id और @ + आईडी के बीच अंतर क्या है? PHP के साथ डब्लूएस-सुरक्षा संरक्षित वेब सेवा से कनेक्ट करना `Data.table` में गतिशील स्तंभ नामों का उपयोग करना सीतनिद्रा में होना HQL क्वेरी: एक प्रश्न के एक नामित पैरामीटर के रूप में एक संग्रह कैसे सेट करें?

जावास्क्रिप्ट हजार विभाजक / स्ट्रिंग प्रारूप

संख्या और स्ट्रिंग स्वरूपण के लिए जावास्क्रिप्ट में कोई फ़ंक्शन है?

मैं स्ट्रिंग या संख्याओं के लिए हजार विभाजक के लिए एक मार्ग की तलाश कर रहा हूँ … (जैसे String.Format C # में)

Solutions Collecting From Web of "जावास्क्रिप्ट हजार विभाजक / स्ट्रिंग प्रारूप"

अपडेट (7 साल बाद)

मूल उत्तर नीचे उद्धृत संदर्भ गलत था। इसके लिए एक निर्मित फ़ंक्शन है, जो कि वास्तव में कैसर नीचे सुझाती है: toLocaleString

तो आप ऐसा कर सकते हैं:

 (1234567.89).toLocaleString('en') // for numeric input parseFloat("1234567.89").toLocaleString('en') // for string input 

कामकाज के नीचे कार्यान्वित समारोह भी है, लेकिन बस आवश्यक नहीं है।

(मुझे लगा कि मैं भाग्यशाली हूं और पता लगा सकता हूं कि यह 2010 में वापस आवश्यक था , लेकिन नहीं। इस अधिक विश्वसनीय संदर्भ के अनुसार, लोकालेस्ट्रिंग ईसीएमएस्क्रिप्ट तृतीय संस्करण [1 999] के बाद से मानक का हिस्सा रहा है, जिसका मेरा मानना ​​है कि इसका अर्थ है आईई 5.5 के रूप में वापस समर्थित होगा।)


मूल उत्तर

इस संदर्भ के अनुसार कोई संख्या में अल्पविराम जोड़ने के लिए फ़ंक्शन निर्मित नहीं है लेकिन उस पृष्ठ में एक उदाहरण शामिल है कि इसे स्वयं कोड कैसे करें:

 function addCommas(nStr) { nStr += ''; var x = nStr.split('.'); var x1 = x[0]; var x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } 

संपादित करें: दूसरी तरफ जाने के लिए (स्ट्रेट्स को नंबर के साथ कन्वर्ट करने के लिए), आप ऐसा कुछ कर सकते हैं:

 parseFloat("1,234,567.89".replace(/,/g,'')) 

यदि हजारों विभाजक, सीमांकक और दशमलव विभाजक को स्थानीयकरण के बारे में है, तो निम्न के साथ जाएं:

 // --> numObj.toLocaleString( [locales [, options] ] ) parseInt( number ).toLocaleString(); 

कई विकल्प हैं जो आप उपयोग कर सकते हैं (और यहां तक ​​कि फ़ॉलबैक वाले स्थान भी):

 number = 123456.7089; result = parseInt( number ).toLocaleString() + "<br>"; result += number.toLocaleString( 'de-DE' ) + "<br>"; result += number.toLocaleString( 'ar-EG' ) + "<br>"; result += number.toLocaleString( 'ja-JP', { style : 'currency', currency : 'JPY', currencyDisplay : 'symbol', useGrouping : true } ) + "<br>"; result += number.toLocaleString( [ 'jav', 'en' ], { localeMatcher : 'lookup', style : 'decimal', minimumIntegerDigits : 2, minimumFractionDigits : 2, maximumFractionDigits : 3, minimumSignificantDigits : 2, maximumSignificantDigits : 3 } ) + "<br>"; var el = document.getElementById( 'result' ); el.innerHTML = result; 
 <div id="result"></div> 

यह एक नियमित अभिव्यक्ति (बिना कॉलबैक) के साथ संभाल करने का प्रयास करने की मेरी वर्तमान क्षमता मुझे जावास्क्रिप्ट में एक नकारात्मक रूप-पीछे की कमी के लिए विफल रहता है … कभी कम नहीं है यह एक और वैकल्पिक विकल्प है जो सामान्य मामलों में काम करता है – किसी भी दशमलव बिंदु के लिए लेखांकन मैचों की अनदेखी करके, जहां किसी अवधि के सूचकांक के बाद मैच का सूचक प्रकट होता है

 function format(num){ var n = num.toString(), p = n.indexOf('.'); return n.replace(/\d(?=(?:\d{3})+(?:\.|$))/g, function($0, i){ return p<0 || i<p ? ($0+',') : $0; }); } 

परीक्षण के मामलों:

 format(100) // "100" format(1000) // "1,000" format(1e10) // "10,000,000,000" format(1000.001001) // "1,000.001001" 

»वर्बोस रेगेक्स स्पष्टीकरण (regex101.com)
यहां छवि विवरण दर्ज करें

एक अच्छा jQuery नंबर प्लगइन है: https://github.com/teamdf/jquery-number

दशमलव, हज़ार और दशमलव के दशमलव अक्षरों और विभाजक वर्णों के विकल्प के साथ आपको यह पसंद करने वाले स्वरूप में कोई भी संख्या बदलने की अनुमति मिलती है:

 $.number(12345.4556, 2); // -> 12,345.46 $.number(12345.4556, 3, ',', ' ') // -> 12 345,456 

आप इसे इनपुट फ़ील्ड के अंदर सीधे उपयोग कर सकते हैं, जो कि ऊपर की तरह एक ही विकल्प का उपयोग करते हुए बेहतर है:

 $("input").number(true, 2); 

या आप चयनकर्ता के उपयोग के संपूर्ण डीओएम तत्वों के लिए आवेदन कर सकते हैं:

 $('span.number').number(true, 2); 
 // thousand separates a digit-only string using commas // by element: onkeyup = "ThousandSeparate(this)" // by ID: onkeyup = "ThousandSeparate('txt1','lbl1')" function ThousandSeparate() { if (arguments.length == 1) { var V = arguments[0].value; V = V.replace(/,/g,''); var R = new RegExp('(-?[0-9]+)([0-9]{3})'); while(R.test(V)) { V = V.replace(R, '$1,$2'); } arguments[0].value = V; } else if ( arguments.length == 2) { var V = document.getElementById(arguments[0]).value; var R = new RegExp('(-?[0-9]+)([0-9]{3})'); while(R.test(V)) { V = V.replace(R, '$1,$2'); } document.getElementById(arguments[1]).innerHTML = V; } else return false; } 

मैं इसका उपयोग करता हूं:

 function numberWithCommas(number) { return number.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ","); } 

स्रोत: लिंक

आप जावास्क्रिप्ट का उपयोग कर सकते हैं। नीचे कोड हैं, यह केवल संख्यात्मक और एक dot accept करेगा

यहां जावास्क्रिप्ट है

 <script > function FormatCurrency(ctrl) { //Check if arrow keys are pressed - we want to allow navigation around textbox using arrow keys if (event.keyCode == 37 || event.keyCode == 38 || event.keyCode == 39 || event.keyCode == 40) { return; } var val = ctrl.value; val = val.replace(/,/g, "") ctrl.value = ""; val += ''; x = val.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } ctrl.value = x1 + x2; } function CheckNumeric() { return event.keyCode >= 48 && event.keyCode <= 57 || event.keyCode == 46; } </script> 

एचटीएमएल

 <input type="text" onkeypress="return CheckNumeric()" onkeyup="FormatCurrency(this)" /> 

डेमो जेएसएफआईडीडीएलई

PHP.js के पास ऐसा फ़ंक्शन होता है जिसे कॉल करने वाला नंबर-फ़ॉर्मेट कहते हैं। यदि आप पीएचपी से परिचित हैं तो यह ठीक उसी तरह से काम करता है ।

आपको बस इतना करना है कि यह वास्तव में है:

 123000.9123.toLocaleString() //result will be "123,000.912" 
 number = 123456.7089; result = parseInt( number ).toLocaleString() + "<br>"; result = number.toLocaleString( 'pt-BR' ) + "<br>"; var el = document.getElementById( 'result' ); el.innerHTML = result; 
 <div id="result"></div> 

मुझे यहां कोई भी जवाब नहीं मिला, इसलिए मैंने एक ऐसा फ़ंक्शन बनाया जो मेरे लिए काम करता था बस किसी और को यह उपयोगी पाता

 function getFormattedCurrency(num) { num = num.toFixed(2) var cents = (num - Math.floor(num)).toFixed(2); return Math.floor(num).toLocaleString() + '.' + cents.split('.')[1]; }