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);