Всем привет!
Отношения к Битрикс данный пост не имеет.
Просто полезная функция по форматированию строки (цены) с разделением на тысячные на яваскрипте.
На оригинальность не претендую
Пример вызова
Результат 34 567.15
Отношения к Битрикс данный пост не имеет.
Просто полезная функция по форматированию строки (цены) с разделением на тысячные на яваскрипте.
На оригинальность не претендую
function formatPrice (price)
{
var result = '';
if (typeof(price) != 'undefined')
{
if (typeof(price) == 'number')
price = price.toS tring();
if (price.length > 0)
{
var testPrice = /^([\d]+)|([\d]+\.|,[\d]+)$/;
if (testPrice.test(price))
{
var str, integral, decimal, delim, regex;
regex = /\.|,[\d]+$/ig;
delimPos = price.search(regex);
if (delimPos >= 0)
{
integral = price.substr(0, delimPos);
decimal = price.substr(delimPos+1);
}
else
{
integral = price;
decimal = '';
}
str = integral;
var blockSize = 3;
if (str.length > blockSize)
{
while (str.length > 0)
{
if (str.length > blockSize)
{
result = ' ' + str.substr((blockSize*(-1)), blockSize) + result;
str = str.substr(0, (str.length - blockSize));
}
else
{
result = str + result;
str = '';
}
}
result = decimal.length > 0 ? result+'.'+decimal : result;
}
else
{
result = str + (decimal.length > 0 ? '.'+decimal : '');
}
}
else
{
result = price;
}
}
}
return result;
}
|
formatPrice('34567.15') |