javascript實現的數字格式化程式碼例項

antzone發表於2017-03-17

數字往往為了需要格式化,因為在一定的格式下更容易閱讀,或者具有一定的標示性含義,下面是一段這樣的程式碼例項,能夠實現數字的格式化,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var format=function (number,form){
  var forms=form.split('.');
  var number=''+number;
  var numbers=number.split('.');
  var leftnumber=numbers[0].split('');
  var exec=function(lastMatch){
    if(lastMatch=='0'||lastMatch=='#') {
      if(leftnumber.length) {
        return leftnumber.pop();
      } else if(lastMatch=='0') {
        return lastMatch;
      } else {
        return '';
      }
    } else {
      return lastMatch;
    }
  }
  var string;
  string=forms[0].split('').reverse().join('').replace(/./g, exec).split('').reverse().join('');
  string=leftnumber.join('') + string;
 
  if(forms[1]&&forms[1].length){
    leftnumber = (numbers[1] && numbers[1].length) ? numbers[1].split('').reverse() : [];
    string += '.' + forms[1].replace(/./g, exec);
  }
  return string.replace(/\.$/, '');
}
console.log(format(123,'#.00'))
console.log(format(123,'0.##'))                
console.log(format(123,'0000.00 '))
console.log(format(123456,'###,###.00'))

以上程式碼實現了我們的要求,程式碼比較簡單,這裡就不多介紹了,如有任何問題可以跟帖留言。

相關閱讀:

1.split()函式可以參閱javascript split()一章節。

2. pop()函式可以參閱javascript pop()一章節。 

3.reverse()函式可以參閱javascript reverse()一章節。 

4.join()函式可以參閱javascript join()一章節。

5.replace()函式可以參閱正規表示式replace()函式一章節

相關文章