2017-08-11 53 views
0

我定义我的numberfield然后我amgetting这样号码小数显示错误

val = 3.555678

我在我的电话号码字段,因此该值显示使用decimalPrecision : 3一些值3.556

我想我的价值应该是显示3.555所以我用的是

val = val.toFixed(3);

VAL在CONSOL 3.555 未来再numberfield.setValue(val); 但是在UI它仍正在添加3.556

为什么它是未来这一点。

+0

怎能4.555678 toFixed(3)成为3.555?或3.556 ...错字? –

+0

忽略错字...'var val = 3.555678; val = val.toFixed(3); console.log(val);'每次输出字符串'“3.556”' –

+0

在使用toFixed之后,4.555678怎么变成3.555? –

回答

1

我要显示3.555你可以做到这一点通过以下方式

let val = 3.555678 
 

 
let decimalPrecision = 3; 
 

 
let roundedval = val.toFixed(3); 
 

 
if(roundedval > val){ 
 
    val = roundedval - Math.pow(10, -1*decimalPrecision); 
 
} 
 

 
console.log(val);

1

您可以使用:

var val=3.555678; 
val = Math.floor (val*1000)/1000; 
console.log(val);