Круглый десятичный в Javascript - PullRequest
1 голос
/ 18 февраля 2011

У меня есть такое значение:

20,93

Я бы хотел округлить до

20,90

Как я могу сделать это в Javascript?

Спасибо!

Ответы [ 5 ]

2 голосов
/ 18 февраля 2011

Я думаю, что это должно работать:

число .toFixed (1);

2 голосов
/ 18 февраля 2011

Умножьте число на 10, округлите его и затем разделите число на 10:

var result = Math.round(20.93 * 10) / 10
0 голосов
/ 11 декабря 2014

Вы можете установить 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>

Я создаю эту функцию для получения значения, но могу измениться, если вы хотите больше форм.

0 голосов
/ 05 февраля 2013

Я так понимаю, вы хотите конечный ноль.Ни один из ответов не даст вам этого.Это должен быть String, чтобы иметь конечный ноль.

function my_round(x){
  return Number(x).toFixed(1) + '0';
}

Если вас не волнует конечный ноль, и вы хотите число (не String), то вот еще один способ округления до десятичных знаковв JavaScript.Это округляет до десятичного знака d.

function my_round(x, d){
  return Number( Number(x).toFixed(d) );
}

Вы бы сделали

my_round('20.93', 1);

или

my_round(20.93, 1);
0 голосов
/ 18 февраля 2011
var num= 20.93
num = Math.floor(num * 10) / 10; // 20.9
num = Math.ceil(num * 10) / 10;  //21
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...