gpt4 book ai didi

javascript - numeral.js - 负数舍入/格式问题

转载 作者:行者123 更新时间:2023-11-29 11:00:07 25 4
gpt4 key购买 nike

当四舍五入到最接近的负 100 时,我遇到了 numeral.js 的格式问题。

关于为什么将零放在美元符号之前表示零值的想法?

FIDDLE

var num1 = numeral(-0.006).format('$0,0.00');
var num2 = numeral(-0.002).format('$0,0.00');

document.getElementById("num1").innerHTML = num1;
document.getElementById("num2").innerHTML = num2;

最佳答案

可能是 numeral.js 中的错误。无论如何,如果这是您尝试做的事情,您可以放弃对 numeral.js 的依赖,只使用纯 Javascript MathtoLocaleString() 来处理这个问题。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

https://jsfiddle.net/qL41jg1x/

function toUSCurrency(x) {
var n = Math.round(x*100)/100
return n.toLocaleString(
'en-US' ,
{
style: 'currency' ,
currency: 'USD' ,
minimumFractionDigits: 2 ,
maximumFractionDigits: 2
}
) ;
}

document.getElementById("num1").innerHTML = toUSCurrency(-0.006);
document.getElementById("num2").innerHTML = toUSCurrency(-0.002);
document.getElementById("num3").innerHTML = toUSCurrency(-10000000.002);
document.getElementById("num4").innerHTML = toUSCurrency(10000000.002);

注意事项:1) 如果必须处理非常大的小数,Math.round() 可以进入数字的浮点性质。

2) toLocaleString() 似乎被当前所有主流浏览器所支持。 https://caniuse.com/#feat=internationalization

关于javascript - numeral.js - 负数舍入/格式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673348/

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