Используйте Number#toPrecision
или Number#toFixed
, в зависимости от того, что больше соответствует вашим потребностям.Разница в том, что toFixed
устанавливает количество цифр после десятичной точки, а toPrecision
устанавливает все количество цифр.
var foo = 1.98765432;
console.log(foo.toPrecision(5)); // 1.9877
Обратите внимание, что toFixed
и toPrecision
возвращают строки, поэтомувы, вероятно, захотите преобразовать их обратно в числа, прежде чем JSONiii их.
Вот обязательная ссылка MDN .
Вы также можете сделать что-то подобное,если вы хотите свернуть свой собственный.
Math.round(1.98765432 * 10000) / 10000 // 1.9877
Инкапсулированный в функцию, он может выглядеть примерно так:
function precisify(n, places) {
var scale = Math.pow(10, places);
return Math.round(n * scale) / scale;
}