2

各文字をJavascriptでラップし、X桁未満の場合はゼロを付加する可能性はありますか?

私が得る/持っているもの:

var votes = 2;
//or
var votes = 123;
//or
var votes = 4321;

それがどのように見えるべきか:

<span>0</span><span>0</span><span>0</span><span>2</span>
//or
<span>0</span><span>1</span><span>2</span><span>3</span>
//or
<span>4</span><span>3</span><span>2</span><span>1</span>

したがって、結果は4桁の数値になります。

4

4 に答える 4

5

トリッキーなバージョンは次のとおりです。

var votes = 123;
("0000" + votes).slice(-4); /* 0123 */

したがって、各桁をaでラップするには、次の例のフィドルのように、<span>各桁をフェッチ$.mapして独自の要素にラップします。http: //jsfiddle.net/cZAWj/

var votes = 973;

$.map(("0000" + votes).slice(-4), function(digit) {
    $('<span/>', { text : digit }).appendTo($('body'));
});
于 2012-06-13T15:24:27.047 に答える
3

まず、文字列のように見せて、パッドを入れます...

   function pad(number, length) {      
        var str = '' + number;
        while (str.length < length) {
            str = '0' + str;
        }       
        return str;
    }

次に、それを繰り返し処理して、各数値の周りにスパンを追加できます。次に、親要素の.htmlとしてマークアップを書き出します。

于 2012-06-13T15:21:19.397 に答える
1

そのための1つの方法は、数値を文字列に変換し、目的の長さに達するまで0を事前に追加することです。

Xしたがって、数字が必要な場合:

var strNb = "" + nb;
while (strNb.length < X){
  strNb = "0" + strNb
}
于 2012-06-13T15:21:41.083 に答える
0
function formatNumber(d, x) {
    var l = String(d).length;
    return (l<x?(Array(x-l).join('0') + d):String(d)).replace(/\d/g,"<span>$&</span>");
}
于 2012-06-13T15:26:36.287 に答える