[英]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.