【发布时间】:2011-02-18 06:23:28
【问题描述】:
我有这样的价值观:
20.93
我想把它四舍五入
20.90
如何在 Javascript 中做到这一点?
谢谢!
【问题讨论】:
标签: javascript numbers format decimal rounding
我有这样的价值观:
20.93
我想把它四舍五入
20.90
如何在 Javascript 中做到这一点?
谢谢!
【问题讨论】:
标签: javascript numbers format decimal rounding
将数字乘以 10,四舍五入,然后再除以 10:
var result = Math.round(20.93 * 10) / 10
【讨论】:
20.90。 20.90 是 20.9(至少在 javascript 中是 alert(20.90))
toFixed(2) 返回20.93
我认为这应该可行:
编号.toFixed(1);
【讨论】:
var num= 20.93
num = Math.floor(num * 10) / 10; // 20.9
num = Math.ceil(num * 10) / 10; //21
【讨论】:
我认为您想要尾随零。没有一个答案能告诉你。它必须是一个字符串才能有尾随零。
function my_round(x){
return Number(x).toFixed(1) + '0';
}
如果您不关心尾随的零并且您想要一个数字(而不是字符串),那么这是另一种在 JavaScript 中舍入到小数位的方法。这四舍五入到小数位d。
function my_round(x, d){
return Number( Number(x).toFixed(d) );
}
你会的
my_round('20.93', 1);
或
my_round(20.93, 1);
【讨论】:
您可以设置toFixed(1)。 但设置值 = 20.96 然后你有 21 而不是 20.90;
但我的函数总是 20.90 而不是 20.93,比如 20.98/97/96/95...
<script>
var num = 20.93;
function vround(num) { // CREATE BY ROGERIO DE MORAES
var Dif = (num.toFixed(2)-num.toFixed(1)).toFixed(2);
Dif = Dif * 100;
if(Dif <= -1) {
var n = num.toFixed(2) - 0.05;
vround(n);
} else {
var n = num.toFixed(1)+0;
console.log(n);
}
}
vround(num);
</script>
我创建此功能是为了让您获得价值,但如果您想要更多形式,可以更改。
【讨论】: