首页 > 问答 > 正文
最近做业务,碰到一个有趣的问题:
服务端 为了计算金钱准确,把金钱都转换成 分单位( 1元 = 100 )
到前端需要把它转换成 金钱格式 159 => 1.59元
看了下项目中 实现办法是使用 tofixed 来实现的,不过,有bug。
要求
1
2
3
4
5
6
<code>159 -> 1.59元
1500 -> 15.00 元
88 -> 0.88元
8 -> 0.08元
</code>
另外 有的时候显示形式是 (元 大一些,分 小一些)
PHP中文网2017-07-05 11:04:21
一个简单的示例如下:
<code class="js">function convertUnit (value) {
<code
class
=
"js"
>
function
convertUnit (value) {
// bug 常见出现自 parseInt 未指定进制
return parseFloat(parseInt(value, 10) / 100).toFixed(2) + '元'
return
parseFloat(parseInt(value, 10) / 100).toFixed(2) +
'元'
}</code>
简单的测试用例:
7
8
<code class="text">> parseFloat(169 / 100).toFixed(2)
"text"
>> 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'</code>
'15.00'
三叔2017-07-05 11:04:21
雷雷
世界只因有你2017-07-05 11:04:21