Формат номера, чтобы всегда показывать 2 десятичных знака - PullRequest
652 голосов
/ 26 мая 2011

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

Примеры:

number     display
------     -------
1          1.00
1.341      1.34
1.345      1.35

Я использовал это:

parseFloat(num).toFixed(2);

Но он отображает 1 как 1, а не 1.00.

Ответы [ 28 ]

1 голос
/ 18 сентября 2014
var quantity = 12;

var import1 = 12.55;

var total = quantity * import1;

var answer = parseFloat(total).toFixed(2);

document.write(answer);
0 голосов
/ 30 апреля 2019

номер функцииWithCommas (число) {

var newval = parseFloat(Math.round(number * 100) / 100).toFixed(2);

return newval.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");

}

0 голосов
/ 09 декабря 2018

вот еще одно решение для округления только с использованием минимального значения, что означает, что рассчитанная сумма не будет больше исходной суммы (иногда необходимой для транзакций):

Math.floor(num* 100 )/100;
0 голосов
/ 17 сентября 2018

parseInt(number * 100) / 100; работал для меня.

0 голосов
/ 15 июля 2017

Вот как я решаю свою проблему:

parseFloat(parseFloat(floatString).toFixed(2));
0 голосов
/ 01 февраля 2017

Расширение Математика Объект с Точностью Метод

Object.defineProperty(Math, 'precision',{
   value: function (value,precision,type){
             var v = parseFloat(value),
                 p = Math.max(precision,0)||0,
                 t = type||'round';
              return (Math[t](v*Math.pow(10,p))/Math.pow(10,p)).toFixed(p);
          }
    });

console.log(
    Math.precision(3.1,3), // round 3 digits 
    Math.precision(0.12345,2,'ceil'), // ceil 2 digits
    Math.precision(1.1) // integer part
)
0 голосов
/ 16 октября 2016

Мне нравится:

var num = 12.749;
parseFloat((Math.round(num * 100) / 100).toFixed(2)); // 123.75

Округлить число с двумя десятичными знаками, затем обязательно проанализируйте его с помощью parseFloat() возвращать Number, а не String, если вам все равно, является ли это String или Number.

0 голосов
/ 08 июля 2015
(num + "").replace(/^([0-9]*)(\.[0-9]{1,2})?.*$/,"$1$2")
...