我想以灵活的方式向用户显示数字信息。 toFixed
和toPrecision
始终使用零填充,这是不受欢迎的。理想情况下,我可以表达:
是否有良好的JS库以这种方式显示数字?如果没有,我可以翻译一些其他语言的好图书馆吗?
答案 0 :(得分:2)
为了这个目的,您可能不需要整个库。例如,您可以使用toFixed(2)
然后删除尾随0
和一个尾随小数点:
function format_number(x){
return ((+x).toFixed(2)+'').replace(/\.?0*$/, '');
}
用法:
format_number(5.450000000001); // "5.45"
format_number("6.0"); // "6"
format_number("5.45001"); // "5.45"
接受最大小数点作为可选参数也很容易:
function format_number(x, digits){
if(typeof digits != 'number')
digits = 2;
return ((+x).toFixed(digits)+'').replace(/\.?0*$/, '');
}
format_number(5.45001); // "5.45"
format_number(5.45001, 5); // "5.45001"