Javascript中的四舍五入小数

Javascript中的四舍五入小数,javascript,numbers,format,decimal,rounding,Javascript,Numbers,Format,Decimal,Rounding,我有这样一个价值观: 20.93 我想把它绕成一圈 20.90 我如何在Javascript中做到这一点 谢谢 将数字乘以10,四舍五入,然后将数字除以10: var result = Math.round(20.93 * 10) / 10 将数字乘以10,四舍五入,然后将数字除以10: var result = Math.round(20.93 * 10) / 10 我认为这应该奏效: 数字1.toFixed1 我认为这应该行得通: 数字1.toFixed1 我认为您需要后面的零。没有一个

我有这样一个价值观:

20.93

我想把它绕成一圈

20.90

我如何在Javascript中做到这一点


谢谢

将数字乘以10,四舍五入,然后将数字除以10:

var result = Math.round(20.93 * 10) / 10

将数字乘以10,四舍五入,然后将数字除以10:

var result = Math.round(20.93 * 10) / 10

我认为这应该奏效:


数字1.toFixed1

我认为这应该行得通:


数字1.toFixed1

我认为您需要后面的零。没有一个答案能给你答案。它必须是一个字符串才能有尾随的零

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);


我认为你想要后面的零。没有一个答案能给你答案。它必须是一个字符串才能有尾随的零

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);

您可以设置为Fixed1。但是设定值=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>
我创建此函数是为了给您获取值,但如果您想要更多表单,可以更改此函数。

您可以设置为Fixed1。但是设定值=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>

我创建这个函数是为了给你带来价值,但是如果你想要更多的表单,可以修改。

我认为之后除以10会增加额外的损失precision@wuhounited他希望输出为20.90。在javascript alert20中,20.90至少是20.9。90@briantoFixed2返回20.93首先我按照你说的做了,它给了我20.9,所以我使用了。toFixed2打印20.90我想之后除以10会增加额外的损失precision@wuhounited他希望输出为20.90。在javascript alert20中,20.90至少是20.9。90@briantoFixed2返回20.93首先我按照你说的做了,它给了我20.9,所以我使用.toFixed2将20.90集打印成vround'you values/variable';并将您的值…设置为“您的值/变量”;让你变得有价值。。。