最近做業務,碰到一個有趣的問題:
服務端 為了計算金錢準確,把金錢都轉換成 分單位( 1元 = 100 )
到前端需要把它轉換成 金錢格式 159 => 1.59元
看了下專案中 實作方法是使用 tofixed 來實現的,不過,有bug。
要求
159 -> 1.59元
1500 -> 15.00 元
88 -> 0.88元
8 -> 0.08元
另外 有的時候顯示形式是 (元 大一些,分 小一些)
PHP中文网2017-07-05 11:04:21
一個簡單的例子如下:
function convertUnit (value) {
// bug 常见出现自 parseInt 未指定进制
return parseFloat(parseInt(value, 10) / 100).toFixed(2) + '元'
}
簡單的測試案例:
> parseFloat(169 / 100).toFixed(2)
'1.69'
> parseFloat(8 / 100).toFixed(2)
'0.08'
> parseFloat(88 / 100).toFixed(2)
'0.88'
> parseFloat(1500 / 100).toFixed(2)
'15.00'