我正在尝试使用Y.Number.format格式化我的号码。我需要使用6个decimalPlaces但是如果有一个并且如果源编号没有这个小数位数则不使用正确的零填充。
基本上我需要以下内容:
YUI().use("datatype-number", function(Y) {
console.log(Y.Number.format(1234.567, {
thousandsSeparator: ".",
decimalPlaces: 2
}
));
//Result is: 1234.57
和
YUI().use("datatype-number", function(Y) {
console.log(Y.Number.format(1234.567, {
thousandsSeparator: ".",
decimalPlaces: 6
}
));
//Result is 1234.567
我怎样才能达到上述结果?
答案 0 :(得分:1)
也许这会起作用(num%1)是num modulo 1.将数字除以1,看看剩下的是什么。
3%2=1
12%5=2
1.0001%1=0.0001
如何使用它的示例:
;YUI().use("datatype-number", function(Y) {
var num=1.0000;//no decimal places
var decPlaces=((num%1)>0.0000005)?6:0;
console.log(Y.Number.format(num, {
thousandsSeparator: ".",
decimalPlaces: decPlaces
}));
num=1.0010;//some decimal places
decPlaces=((num%1)>0.0000005)?6:0;//6 if dec places 0 if not
console.log(Y.Number.format(num, {
thousandsSeparator: ".",
decimalPlaces: decPlaces
}));
num=1.0000001;//not enough decimal places
decPlaces=((num%1)>0.0000005)?6:0;//6 if dec places 0 if not
console.log(Y.Number.format(num, {
thousandsSeparator: ".",
decimalPlaces: decPlaces
}));
});