javascript - atscript - जावास्क्रिप्ट इन भाषाओं से प्रेरित




जावास्क्रिप्ट में अग्रणी शून्य के साथ पूर्णांक आउटपुट कैसे करें (4)

संभावित डुप्लिकेट:
जावास्क्रिप्ट का उपयोग करके मैं ज़ीरोफिल्ल्ड वैल्यू कैसे बना सकता हूं?

मैं math.round के साथ दशमलव स्थानों की x राशि तक गोल कर सकता हूं लेकिन दशमलव के बाईं ओर गोल करने का कोई तरीका है? उदाहरण के लिए 5 अगर मैं 2 स्थानों को निर्दिष्ट करता हूं तो 05 बन जाता है


नोट : संभावित रूप से पुराना। String.prototype.padStart 2017 में String.prototype.padStart शामिल है

आप शून्य पैडिंग के लिए पूछ रहे हैं? वास्तव में गोल नहीं है। आपको इसे एक स्ट्रिंग में परिवर्तित करना होगा क्योंकि संख्याएं प्रमुख शून्यों के साथ समझ में नहीं आती हैं। कुछ इस तरह...

function pad(num, size) {
    var s = num+"";
    while (s.length < size) s = "0" + s;
    return s;
}

या यदि आप जानते हैं कि आप शून्य से अधिक संख्या में ज़ीरो का उपयोग नहीं करेंगे तो यह बेहतर हो सकता है। यह मानता है कि आप कभी भी 10 अंकों से अधिक नहीं चाहते हैं।

function pad(num, size) {
    var s = "000000000" + num;
    return s.substr(s.length-size);
}

यदि आप नकारात्मक संख्याओं की परवाह करते हैं तो आपको "-" को पट्टी करना होगा और इसे पढ़ना होगा।


आप Number वस्तु का विस्तार कर सकते हैं:

Number.prototype.pad = function(size) {
    var s = String(this);
    while (s.length < (size || 2)) {s = "0" + s;}
    return s;
}

उदाहरण:

(9).pad();  //returns "09"

(7).pad(3);  //returns "007"

बस मस्ती के लिए (मेरे पास मारने के लिए कुछ समय था), एक अधिक परिष्कृत कार्यान्वयन जो शून्य-स्ट्रिंग को कैश करता है:

pad.zeros = new Array(5).join('0');
function pad(num, len) {
    var str = String(num),
        diff = len - str.length;
    if(diff <= 0) return str;
    if(diff > pad.zeros.length)
        pad.zeros = new Array(diff + 1).join('0');
    return pad.zeros.substr(0, diff) + str;
}

यदि पैडिंग गिनती बड़ी है और फ़ंक्शन को अक्सर पर्याप्त कहा जाता है, तो यह वास्तव में अन्य तरीकों से बेहतर प्रदर्शन करता है ...


https://gist.github.com/1180489

function pad(a,b){return(1e15+a+"").slice(-b)}

टिप्पणियों के साथ:

function pad(
  a, // the number to convert 
  b // number of resulting characters
){
  return (
    1e15 + a + // combine with large number
    "" // convert to string
  ).slice(-b) // cut leading "1"
}





number-formatting