gpt4 book ai didi

javascript - d3.js:格式化5亿需要显示为0.5G,但显示为500mG

转载 作者:行者123 更新时间:2023-12-02 15:00:41 25 4
gpt4 key购买 nike

我使用此函数在我的应用程序中格式化数字,它应该返回带有符号的十进制数字,并接受最大值来确定符号以及要格式化为参数的数字:

function generateAmountAxis(maxVal){
var prefix = d3.formatPrefix(maxVal);
var format = d3.format(".2s");

return function(number){
return format(prefix.scale(number)) + prefix.symbol;
}
}

当我在一组数字上运行它时:

generateAmountAxis(1000000000)(2000000000) // returns "2.0G"
generateAmountAxis(1000000000)(2100000000) // returns "2.1G"
generateAmountAxis(1000000000)(500000000) //returns "500mG" !!

我的问题是 - 为什么它显示 500mG 为 5 亿?我希望它显示 0.5G

最佳答案

您需要更改格式

d3.format('.2s')

d3.format('.2')

(根据您的要求,这可能不准确,因为它将 2.0 包装为 2,但您应该知道问题出在您的格式说明符上)

看这个 fiddle http://jsfiddle.net/Q5Jag/1639/

编辑:您可以使用d3.format('.1f')来显示最多1个 float 的结果。查看更新的 fiddle :http://jsfiddle.net/Q5Jag/1640/

有关格式化程序的更多信息:http://koaning.s3-website-us-west-2.amazonaws.com/html/d3format.html

关于javascript - d3.js:格式化5亿需要显示为0.5G,但显示为500mG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35448454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com