正如你可以閱讀遍佈互聯網using floats to represent currency is a very bad idea。建議的最佳做法是使用代表美分的整數。這樣你就不會遇到任何精度問題,特別是如果你正在做一些計算。使用angulars貨幣過濾器的整數美分
由於我太天真,太過樂觀,我選擇 - 儘管所有警告 - 浮動來代表我的應用程序中的貨幣。起初進行得非常順利。現在我遇到了各種各樣的問題(尤其是比較),並希望從浮點數切換到整數。
不幸的是,角度不支持分數整數作爲貨幣過濾器的輸入(至少據我所知)。我有點驚訝,看起來目前爲止沒有人提出這個問題(在github上沒有相應的問題,沒有任何關於SO等)。
有什麼最佳實踐嗎?你能想到的任何缺點的這樣一個簡單的過濾器可能有:
angular
.module('myApp')
.filter('cents', ['$filter', function($filter) {
return function(cents, symbol, fractionSize) {
var asFloat = cents/100;
return $filter('currency')(asFloat, symbol, fractionSize);
};
}]);
什麼是您期望的輸入/輸出? – developer033
電流輸入:'(float)5.97'輸出:'5,97€'。 想要的輸入:'(int)597'想要的輸出:'5,97€' –