Javascript 不在小数点后给出值
这个方法给了我错误的值,为什么?结果必须是Javascript 不在小数点后给出值,javascript,Javascript,这个方法给了我错误的值,为什么?结果必须是5.088100,但它给出了任何值的5.o88100。如果小数点后的第一个数字是零,那么它会删除它,为什么 var precision = descriptor.digits ? descriptor.digits[1] : 2; var int_part = Math.floor(value); var dec_part = Math.abs(Math.floor((value % 1) * Math.pow(10, precision)));
5.088100
,但它给出了任何值的5.o88100
。如果小数点后的第一个数字是零,那么它会删除它,为什么
var precision = descriptor.digits ? descriptor.digits[1] : 2;
var int_part = Math.floor(value);
var dec_part = Math.abs(Math.floor((value % 1) * Math.pow(10, precision)));
因为您将小数点后的部分转换为整数,所以
08
变为8
-就像var dec\u part=08
将为您提供8
如果需要小数部分,请使用字符串操作:
var tmp = value.toFixed(precision).split("."),
int_part = tmp[0],
dec_part = tmp[1];
因为您将小数点后的部分转换为整数,所以
08
变为8
-就像var dec\u part=08
将为您提供8
如果需要小数部分,请使用字符串操作:
var tmp = value.toFixed(precision).split("."),
int_part = tmp[0],
dec_part = tmp[1];
如果您将
dec_部分
视为一个数字,如果绝对清楚前导零已脱落。数字没有也不可能有前导零
您真正想做的是将这两个部分作为字符串,使用起来容易得多:
但至少,如果您只想将值
四舍五入到一个特定的精度,您可以将那些复杂的东西去掉,然后使用:
如果您将
dec_部分
视为一个数字,如果绝对清楚前导零已脱落。数字没有也不可能有前导零
您真正想做的是将这两个部分作为字符串,使用起来容易得多:
但至少,如果您只想将值
四舍五入到一个特定的精度,您可以将那些复杂的东西去掉,然后使用:
字母
o
来自哪里?你只使用数学函数…我根本不懂你的问题。请发布更多的代码,也许正是您引用的示例?您似乎在暗示某些内容将5.088100
更改为5.o88100
?因此,有人正在将0
替换为o
,因为它输入错误。没有no(0)或no(o)。字母o
来自哪里?你只使用数学函数…我根本不懂你的问题。请发布更多的代码,也许正是您引用的示例?您似乎在暗示某些内容将5.088100
更改为5.o88100
?因此,有人正在将一个0
重放为一个o
,因为它输入了错误。没有任何错误(0)或错误(o)。
value = value.toFixed(precision);