Вывод цены в правильном формате (JavaScript)

Для преобразование числа в красиво отображаемую цену в рублях, нужно воспользоваться регулярными выражениями.

Формат вывода цены: "XXX XXX,XX руб.".

Задача решается в 3 действия.

"use strict"; (function(){ var priceSet; priceSet = function(data){ /* * В переменной price приводим получаемую переменную в нужный вид: * 1. принудительно приводим тип в число с плавающей точкой, * учли результат 'NAN' то по умолчанию 0 * 2. фиксируем, что после точки только в сотых долях */ var price = Number.prototype.toFixed.call(parseFloat(data) || 0, 2), //заменяем точку на запятую price_sep = price.replace(/(\D)/g, ","), //добавляем пробел как разделитель в целых price_sep = price_sep.replace(/(\d)(?=(\d{3})+(?!\d))/g, "$1 "); return price_sep + ' руб.'; }; //Test priceSet('324'); // 324,00 руб. priceSet('3242333238'); // 3 242 333 238,00 руб. priceSet('323234424sa323'); // 323 234 424,00 руб. priceSet(324.3232); // 324,32 руб. priceSet('324.as232'); // 324,00 руб. })();

Категории

ПрограммированиеJavaScriptРегулярные выражения в JavaScriptРегулярные выражения

Читайте также

Комментарии