javascript - 问一个有趣的问题: 如何将 数字 转成 金额格式
问题描述
最近做业务,碰到一个有趣的问题:
服务端 为了计算金钱准确,把金钱都转换成 分单位( 1元 = 100 )
到前端需要把它转换成 金钱格式 159 => 1.59元
看了下项目中 实现办法是使用 tofixed 来实现的,不过,有bug。
要求
159 -> 1.59元1500 -> 15.00 元88 -> 0.88元8 -> 0.08元
另外 有的时候显示形式是 (元 大一些,分 小一些)
问题解答
回答1:一个简单的示例如下:
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’回答2:
function toPrice(d){return `00${d}`.replace(/(.*)(d{2})/g,’$1.$2元’).replace(/0*([1-9]*d..*)/,’$1’)}回答3:
(1232/100).toLocaleString()
相关文章:
1. javascript - jQuery each 方法第三个参数args 如何解释?2. css3 - Typecho 后台部分表单按钮在 Chrome 下出现灵异动画问题,求解决3. java - 阿里的开发手册中为什么禁用map来作为查询的接受类?4. java - 关于i++的一个题目5. apache - 想把之前写的单机版 windows 软件改成网络版,让每个用户可以注册并登录。类似 qq 的登陆,怎么架设服务器呢?6. java - HTTPS双向认证基础上有无必要再进行加签验签?7. javascript - 为什么嵌套的Promise不能按预期捕获Exception?8. ubuntu apt-get install update 无法更新9. javascript - 编程,算法的问题10. webgl - android上类似汽车之家的3d全景照片怎么实现
