Javascript 十进制值的固定条件
我从API得到了一个十进制格式的响应,比如89.9999,我使用了toFixed并四舍五入到89.90。但问题是如果我得到的值是90,因为toFixed显示为90.00,而我只需要90。有什么方法可以实现这一点吗 我尝试进行基本计算的代码是:Javascript 十进制值的固定条件,javascript,tofixed,Javascript,Tofixed,我从API得到了一个十进制格式的响应,比如89.9999,我使用了toFixed并四舍五入到89.90。但问题是如果我得到的值是90,因为toFixed显示为90.00,而我只需要90。有什么方法可以实现这一点吗 我尝试进行基本计算的代码是: var myPerc= value.studPerc === 0 ? '0' : value.studPerc.toFixed(2); 在toFixed之后使用slice删除尾部.00(如果存在): const getPerc=num=>{ con
var myPerc= value.studPerc === 0 ? '0' : value.studPerc.toFixed(2);
在
toFixed
之后使用slice
删除尾部.00
(如果存在):
const getPerc=num=>{
const str=num.toFixed(2);
if(str.slice(-2)==“00”)返回str.slice(0,str.length-3);
返回str;
}
console.log(getPerc(90));
console.log(getPerc(89.9999));
console.log(getPerc(89.55))
在toFixed
之后使用slice
删除尾部.00
,如果它们存在:
const getPerc=num=>{
const str=num.toFixed(2);
if(str.slice(-2)==“00”)返回str.slice(0,str.length-3);
返回str;
}
console.log(getPerc(90));
console.log(getPerc(89.9999));
console.log(getPerc(89.55))代码>您可以尝试:
Math.round(value * 100) / 100
您可以尝试:
Math.round(value * 100) / 100
您可以使用%
无论何时使用Integer%1
它都将返回0
,如果使用Float%1
它将返回一些类似0的点值
演示
函数设置固定(v){
控制台日志(v%1?v.toFixed(2):v)
}
设置固定(90)
setToFixed(89.7589999)
.as console wrapper{max height:100%!important;top:0;}
您可以使用%
无论何时使用Integer%1
它都将返回0
,如果使用Float%1
它将返回一些类似0的点值
演示
函数设置固定(v){
控制台日志(v%1?v.toFixed(2):v)
}
设置固定(90)
setToFixed(89.7589999)
。作为控制台包装{max height:100%!important;top:0;}
您可以使用模数%
首先检测值是否为十进制,因此您可以像下面这样执行
var value = n % 1 !== 0 ? n.toFixed(2) : n;
您可以使用模数%
首先检测值是否为十进制,因此您可以按如下方式执行
var value = n % 1 !== 0 ? n.toFixed(2) : n;
使用Math.round
toFixed
做你所经历的事情。它只是一个不同的用例useMath.round
toFixed
做你所经历的事情。这只是一个不同的用例太好了。谢谢。太好了。谢谢。太好了。谢谢。太好了。谢谢。