繁体   English   中英

需要将数字转换为货币

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM