[英]Need to convert number to currency
目前使用以下代碼將數字轉換為貨幣。 唯一的問題是如果我有 1000,它會給出 1000 而不是我需要 1k。
當前實施1000 - 1000
需要1000 - 1k
嘗試了很多方法來完成它,但無法解決。
var number = 12345678910;
var digits = 2;
var suffix = ["", "K.", "M.", "B."];
var nbDigits = parseInt(Math.log(number)/Math.LN10);
var power = nbDigits - nbDigits%3;
var tmp = number/ Math.pow(10, power);
var suffixIndex = Math.min(3, power/3);
var result = "$" + tmp.toFixed(digits) + " " + suffix[suffixIndex];
我從這個鏈接得到了這個解決方案
只需簡化位數的計算:
// From:
var nbDigits = parseInt(Math.log(number)/Math.LN10);
// To:
var nbDigits1 = Math.log10(number);
這將為您提供位數,而不會出現四舍五入錯誤。 它確實為1000
返回了$1.00 K.
.。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.