2016-04-13 86 views
1

看來阿根廷比索(ARS)貨幣符號與美元在美國的相反。 ,用作小數點分隔符,而.用作千位分隔符。浮動貨幣轉換爲貨幣阿根廷比索

  • 1121 =>$1.121,00
  • 1000.5 =>$1.000,50
  • 85.72 =>$85,72

我看着numeralnpm numeral js),我一直沒能爲浮點轉換爲上面指定的貨幣格式。

這裏是我的嘗試:

> numeral('87.75').format('$0.0,00') 
'$87.7500' 
> numeral('87.75').format('$0,0.00') 
'$87.75' 
> numeral('87.75').format('$0,00') 
'$88' 
> numeral('87.75').format('$0.00') 
'$87.75' 
> numeral('87.75').format('$00,00') 
'$88' 
> numeral('87.75').format('$0.00') 
'$87.75' 
> numeral('87.75').format('$00,00') 
'$88' 
> numeral('87.75').format('$00,00.00') 
'$87.75' 
> numeral('87.75').format('$0[.]0.00') 
'$87.8' 
> numeral('87.75').format('$0[.]0[.]00') 
'$87.8' 
> numeral('87.75').format('$0[.]0[,]00') 
'$87.75' 
> numeral('87.75').format('$0[,]0[,]00') 
'$88' 

這些都是字符串,但不應該影響格式化。

+1

最壞的情況可以隨時'從'toString' –

+0

我在現場沒有專業知識,但replace'會[的toLocaleString(https://developer.mozilla.org/en/docs/Web/ JavaScript/Reference/Global_Objects/Number/toLocaleString)的幫助? –

回答

1

你必須創建自己的格式。向下滾動numer.js文檔到「語言」部分,瞭解如何定義分隔符的示例。

numeral.language('es_ar', { 
    delimiters: { 
     thousands: '.', 
     decimal: ',' 
    }, 
    currency: { 
     symbol: '$' 
    } 
}); 

numeral.language('es_ar'); 

numeral(1087.76).format('$0,0.00') 
> "$1.087,76" 
0

toLocaleString可能是您正在尋找的功能。您可以read about it here

下面是使用它來格式化一個數字作爲貨幣對阿根廷比索的例子:

var value = 1234.56; 
var result = value.toLocaleString('es-ar', { 
    style: 'currency', 
    currency: 'ARS', 
    minimumFractionDigits: 2 
}); 

console.log(result); // Prints "$1.234,56" 
+0

我想要一個可以在服務器和瀏覽器上工作的東西。這很酷,謝謝。 – ThomasReggi

+0

這對兩者都適用(這是一個ES5功能),儘管目前瀏覽器支持僅限於現代瀏覽器。 (值得注意的是,Safari還沒有很好的支持。) – Mark