округлить до 3 десятичных знаков (только при необходимости) - PullRequest
0 голосов
/ 03 мая 2018

Вместо Math.round() и toFixed(), каков альтернативный способ сохранения 3 десятичного числа, если только десятичное число содержит десятичное число.

Я хочу иметь

  1. 100 / 30 => 3.333
  2. 390 / 100 => 3.90
  3. 100 / 100 => 1

1 Ответ

0 голосов
/ 03 мая 2018

Вы можете исправить десятичные дроби и заменить последние нули на точку, если необходимо.

function round(n) {
    return function (v) {
       return v.toFixed(n).replace(/\.?0+$/, '');
    };
}

var array = [100 / 30, 390 / 100, 100 / 100, 100];

console.log(array.map(round(3)));

С первым нулем.

function round(n) {
    return function (v) {
       return v.toFixed(n).replace(/0+$/, '0').replace(/\.0+$/, '');
    };
}

var array = [100 / 30, 390 / 100, 100 / 100, 100];

console.log(array.map(round(3)));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...