JavaScript人民幣金額格式轉換詳解

admin發表於2017-11-21

通常會將表示金錢的數字進行一下格式化,以便於閱讀識別。

下面分享一段程式碼例項,它實現了將數字轉換為人民幣格式的功能。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
function parsePrice(money) { 
  var n=2;
  money=parseFloat((money+"").replace(/[^\d\.-]/g,"")).toFixed(n)+""; 
  var l=money.split(".")[0].split(""); 
  var r=money.split(".")[1]; 
  var t=""; 
  for(i=0;i<l.length;i++) { 
    t+=l[i]; 
  } 
  return '¥'+t+"."+r; 
} 
var money=12.2; 
console.log(parsePrice(money));

以上程式碼實現了我們的要求,下面介紹一下此程式碼的實現過程。

一.程式碼註釋:

(1).function parsePrice(money){},具有一個引數,傳遞的是將要進行格式轉換的數字。

(2).var n=2,金額儲存的小數位數。

(3).money=parseFloat((money+"").replace(/[^\d\.-]/g,"")).toFixed(n)+"",此程式碼刪除要轉換的引數中,除小數點和"-"之外所有非數字字元,並且保留指定位數的小數。money+""的作用是為了將數字轉換為字串,因為數字和字串進行連線的時候,會將數字隱式轉換為字串。

(4).var l=money.split(".")[0].split(""),首先使用小數點作為分割,將數字字串分隔成具有兩個元素的陣列,第一個元素是整數部分,第二個元素是小數部分;最後再將整數部分的每一個數字作為元素生成一個陣列,例如整數部分是123,那麼生成[1,2,3]。

(5).var r=money.split(".")[1],獲取小數點後面的數字。

(6).var t="",宣告一個變數,並賦值為空字串。

(7).for(i=0;i<l.length;i++) ,遍歷陣列中的每一個元素。

(8).t+=l,將陣列中的元素連線為字串。

(9).return '¥'+t+"."+r,進行字串連線,並返回。

二.相關閱讀:

(1).parseFloat()參閱JavaScript parseFloat()一章節。 

(2).replace()參閱正規表示式 replace()一章節。 

(3).split()參閱JavaScript split()一章節。 

相關文章