JavaScript для отображения float до 2 знаков после запятой


Я хотел, чтобы отобразить число до 2 десятичных знаков.

Я думал, что смогу использовать toPrecision(2) в JavaScript .

однако, если число 0.05, Я 0.0500. Я бы предпочел, чтобы все осталось по-прежнему.

см. На JSbin.

каков наилучший способ сделать это?

Я могу придумать кодирование нескольких решений, но я бы предположил (надеюсь) что-то вроде этого встроено?

7 221

7 ответов:

float_num.toFixed(2);

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

вы могли бы сделать это с , но это багги в IE. Если вы хотите надежное решение, посмотрите на мой ответ здесь.

попробовать toFixed вместо toPrecision.

Не знаю, как я попал на этот вопрос, но даже если прошло много лет с тех пор, как это было задано, я хотел бы добавить быстрый и простой метод, которому я следую, и никогда не подводил меня:

var num = responce_from_a_function_or_something();
var fixed_num = parseFloat(num).toFixed( 2 );

function round(value, decimals) { return Number(Math.round(value+'e'+decimals)+'e-'+decimals); }

круглая(1.005, 2); // возврат 1.01

round (1.004, 2); / / return 1 вместо 1.00

ответ следует по этой ссылке:http://www.jacklmoore.com/notes/rounding-in-javascript/

The toFixed() метод форматирует число с помощью фиксированной точки нотации.

а вот и синтаксис

numObj.toFixed([digits])

цифры

Я сделал эту функцию. Он отлично работает, но возвращает строку.

function show_float_val(val,upto = 2){
  var val = parseFloat(val);
  return val.toFixed(upto);
}