Сервер предоставляет JSON, содержащую строку , такую как 1234567.89
.Круглая строка javascript и отображение формата доллара без десятичных знаков
Как его преобразовать в $ 1,234,568
?
Основано на How can I format numbers as money in JavaScript?, я могу преобразовать его в $ 1,234,567.89
.
return "$ " + parseFloat(n).toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");
Пока не идеально, потому что она округляет вниз по сравнению с раундами до ближайшего доллара, я бы подумал следующее будет работать, но это не делает:
return "$ " + parseFloat(n).toFixed(0).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");
Я также безуспешно пытался следующее:
return "$ " + Math.round(parseFloat(n)).replace(/(\d)(?=(\d{3})+\.)/g, "$1,");
Кажется, что нужно работать ... http://jsfiddle.net/7ohvux2a/3/ – user1032531
+1 это действительно правильное регулярное выражение – anubhava