2017-02-15 1 views
1

У меня есть следующее значение возвращается из веб-службы - 3.3178070599E10Форматирование значения в тысячи и миллионы

var value = 3.3178070599E10; 
console.log(value) // result : 33178070599 

//Outputting via Ext JS number formatting utility function : 
Ext.util.Format.number(Math.abs(value), '0,000') // result : 33,178,070,599 

мне нужно отформатировать это значение в тысячи и миллионы формат, как так

Thousands - 33,178,070 
Millions - 33,178 

Я читал в методе toLocaleString, и это различные свойства, но, похоже, они получают разные значения при добавлении некоторых дополнительных свойств, таких как maximumSignificantDigits и minimumIntegerDigits.

Возможны ли 2 требуемых формата, указанных выше, с помощью этого метода или существуют ли какие-либо другие рекомендуемые подходы?

ответ

2

Вы могли бы просто использовать свой предыдущий метод, но вместо Math.abs (значение) можно сделать Math.Floor (значение/1000) для тысяч и Math.Floor (значение/1000000) для миллионов

console.log((Math.floor(3.3178070599E10/1000)).toLocaleString())

+0

Большого спасибо, я над мыслящим всем подходом это кажется :-) – grimmus

+0

@grimmus имеет тенденцию случаться :) – juvian

Смежные вопросы