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$qcy8sy8k88`.replace(/(.*)(d{2})/g,’$1.$2元’).replace(/0*([1-9]*d..*)/,’$1’)}回答3:
(1232/100).toLocaleString()
相關文章:
1. 關于nginx location配置的問題,root到底是什么2. angular.js - angularjs的自定義過濾器如何給文字加顏色?3. 關于docker下的nginx壓力測試4. docker鏡像push報錯5. angular.js - angular內容過長展開收起效果6. linux - openSUSE 上,如何使用 QQ?7. linux - 升級到Python3.6后GDB無法正常運行?8. 并發模型 - python將進程池放在裝飾器里為什么不生效也沒報錯9. 大家好,請問在python腳本中怎么用virtualenv激活指定的環境?10. python的前景到底有大?如果不考慮數據挖掘,機器學習這塊?
