您的位置:首页技术文章
文章详情页

javascript - 问一个有趣的问题: 如何将 数字 转成 金额格式

【字号: 日期:2023-02-22 14:50:07浏览:50作者:猪猪

问题描述

最近做业务,碰到一个有趣的问题:

服务端 为了计算金钱准确,把金钱都转换成 分单位( 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()

标签: JavaScript
相关文章: