最近做业务,碰到一个有趣的问题:
服务端 为了计算金钱准确,把金钱都转换成 分单位( 1元 = 100 )
到前端需要把它转换成 金钱格式 159 => 1.59元
看了下项目中 实现办法是使用 tofixed 来实现的,不过,有bug。
要求
159 -> 1.59元 1500 -> 15.00 元 88 -> 0.88元 8 -> 0.08元
另外 有的时候显示形式是 (元 大一些,分 小一些)
一个简单的示例如下:
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'
雷雷
一个简单的示例如下:
简单的测试用例:
雷雷
雷雷