Javascript 十进制值的固定条件

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

我从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=>{
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
做你所经历的事情。它只是一个不同的用例use
Math.round
toFixed
做你所经历的事情。这只是一个不同的用例太好了。谢谢。太好了。谢谢。太好了。谢谢。太好了。谢谢。