簡體   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