2016-10-30 10 views
0

У меня есть следующий большой номер: 2.9364136545300044e+24 Я внял отформатировать это значение 2,936,413.65 значенияКак форматировать большие числа в JavaScript?

Как я мог это сделать, является ли какая-либо библиотека, чтобы сделать это?

+0

Преобразование числа в строку, и добавить запятую каждый третий символ с правой стороны? – Carcigenicate

+0

Да. Но мне нужно позаботиться и о меньших числах. – Erik

+0

Почему мое предложение не работает для меньших чисел? – Carcigenicate

ответ

1

Вы можете использовать Intl.NumberFormat.prototype.format, String.prototype.slice(), String.prototype.concat()

var number = 2.9364136545300044e+24; 
 
var n = new Intl.NumberFormat().format(number); 
 
var res = n.slice(0, 9).concat(".").concat(n.slice(10, 12)); 
 
console.log(res);

+0

Спасибо за ответ. Есть ли полис для этого API? – Erik

+0

@Erik Что вы подразумеваете под "polyfill"? В каком браузере вы пытаетесь? – guest271314

+0

Мне нужно поддерживать IE9 + :( – Erik