Javascript 将数字转换为小数点后两位
我有一个号码Javascript 将数字转换为小数点后两位,javascript,Javascript,我有一个号码 num = 0.99922312 我想把它缩短到0.99。我想我可以用一个简单的toFixed num.toFixed(2) 但是,这只是返回 1.00。我还尝试了一些十进制组合,比如.toFixed(2.2)等等 有人能给我指一下正确的方向吗?这是最简单的方法: var num=0.99922312 var twoDecimals=num.toString().substring(0,4) console.log(两位小数)这是最简单的方法: var num=0.9992
num = 0.99922312
我想把它缩短到0.99。我想我可以用一个简单的toFixed
num.toFixed(2)
但是,这只是返回
1.00
。我还尝试了一些十进制组合,比如.toFixed(2.2)等等
有人能给我指一下正确的方向吗?这是最简单的方法:
var num=0.99922312
var twoDecimals=num.toString().substring(0,4)
console.log(两位小数)
这是最简单的方法:
var num=0.99922312
var twoDecimals=num.toString().substring(0,4)
log(两位小数)
您只需将数字转换为字符串,获取小数点的索引,并使用slice删除小数点后前两位字符后的所有字符
函数截断(num){
var str=num.toString();
var idx=str.indexOf('.');
返回idx!=-1?str.slice(0,idx+3):str;
}
log(0.99922312,“->”,truncate(0.99922312));
log(0.8,“->”,truncate(0.8));
log(0.121,“->”,truncate(0.121));
log(0.235,“->”,truncate(0.235));
log(12,“->”,truncate(12))代码>您可以简单地将数字转换为字符串,获取小数点的索引,并使用slice删除小数点后前两个字符后的所有字符
函数截断(num){
var str=num.toString();
var idx=str.indexOf('.');
返回idx!=-1?str.slice(0,idx+3):str;
}
log(0.99922312,“->”,truncate(0.99922312));
log(0.8,“->”,truncate(0.8));
log(0.121,“->”,truncate(0.121));
log(0.235,“->”,truncate(0.235));
log(12,“->”,truncate(12))代码>不要对基元类型使用new
。这种方法是非通用的:num=1234.56
->1234
(0位小数),num=123.456
->123.
(0位小数,挂点),num=12345
->1234
(oops)等等。不要对基元类型使用new
。这种方法是非通用的:num=1234.56
->1234
(0位小数),num=123.456
->123.
(0位小数,挂点),num=12345
->1234
(oops)等等。我想这是一种倒退的方式。我需要将数字转换为字符串,将其切分,然后再次转换为数字?公平。谢谢你的建议。toFixed
也会创建一个字符串。如果不是为了显示,为什么要截断它?我唯一想到的是货币计算,但你应该使用一个专门的库来进行计算。@JohnMontgomery,谢谢,我没有意识到toFixed也创建了一个字符串。我从后端得到的是tensorflow预测结果,然后根据预测数在前端排序。数字也会显示出来。@alienbuild我的答案对你有用吗?我想有点像,但看起来很落后。我需要将数字转换为字符串,将其切分,然后再次转换为数字?公平。谢谢你的建议。toFixed
也会创建一个字符串。如果不是为了显示,为什么要截断它?我唯一想到的是货币计算,但你应该使用一个专门的库来进行计算。@JohnMontgomery,谢谢,我没有意识到toFixed也创建了一个字符串。我从后端得到的是tensorflow预测结果,然后根据预测数在前端排序。数字也会显示。@alienbuild我的答案对您有用吗?