цена в формате javascript - PullRequest
       2

цена в формате javascript

4 голосов
/ 14 октября 2011

Я хочу отформатировать переменную в ценовом формате, где, если она составляет, например, $ 90, тогда пропустите десятичную дробь, которую она уже делает в любом случае. Но если значение составляет $ 44,5, то я хочу отформатировать его как $ 44,50. Я могу сделать это в php, а не в javascript.

Пример PHP:

number_format($price, !($price == (int)$price) * 2);

Код, который я хочу отформатировать:

$(showdiv+' .calc_price span').html(sum_price);

Ответы [ 3 ]

17 голосов
/ 14 октября 2011
var price = 44.5;    
var dplaces = price == parseInt(price, 10) ? 0 : 2;
price = '$' + price.toFixed(dplaces);
1 голос
/ 14 октября 2011

Попробуйте это

function priceFormatter(price)
{
    //Checks if price is an integer
    if(price == parseInt(price))
    {    
        return "$" + price;
    }

    //Checks if price has only 1 decimal
    else if(Math.round(price*10)/10 == price)
    {
        return "$" + price + "0";
    }

    //Covers other cases
    else
    {
        return "$" + Math.round(price*100)/100;
    }
}
1 голос
/ 14 октября 2011

PHPJS имеет такой код для вас: http://phpjs.org/functions/money_format:876

Также предоставляется @Daok Как мне отформатировать числа в виде денег в JavaScript?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...