2017-01-25 5 views
-2

мне нужно отображать цену в формате, какВставить пробел после каждого 3 символа в строке Javascript

7 
70 
700 
700 000 
70 000 
700 000 
7 000 000 etc 

Проблема в том, что я получаю цену от JSon файла, так что это всегда строка.

Я хочу преобразовать эту ценовую строку в желаемый формат с помощью RegEx.

  1. Мы инвертировать цену 7000000 = 0000007
  2. Мы ставим пробел после 3-го символа в перевернутом строке 000 000 7
  3. Затем инвертировать строку снова и получить нормальный формат цены 7 000 000

ли это возможно, для json-данных и, возможно, есть более правильный путь? Не нашли рабочих примеров.

+0

Вы должны проверить http://stackoverflow.com/questions/149055/how-can-i-format-numbers-as-money-in-javascript. – Piyush

+0

"* Проблема в том, что я получаю цену от json-файла, так что это всегда строка. *" Это неверно. JSON [поддерживает номера] (http://www.json.org/). – JDB

ответ

0

Вы можете использовать регулярное выражение, чтобы сделать так:

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

Или преобразовать его в число, то использовать num.toLocaleString(), который будет автоматически преобразовывать его.

Взятые из Adding space between numbers?

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