PHP Валюта форматирования конечные нули - PullRequest
4 голосов
/ 14 февраля 2011

Возможно ли иметь значения валюты в формате PHP, например: 200 долларов будут выводиться как: 200 долларов (без десятичных знаков), но с числом, например, 200,50 долларов, он будет правильно выводить 200,50 долларов вместо 200,5?

Спасибо!:)

Ответы [ 4 ]

5 голосов
/ 14 февраля 2011
$num_decimals = (intval($amt) == $amt) ? 0 :2;
print ("$".number_format($amt,$num_decimals);
1 голос
/ 14 февраля 2011

Как насчет пользовательской функции для соответствующей обработки ситуации:

function my_number_format($number) {
    if(strpos($number, '.')) {
        return number_format($number, 2);
    } else {
        return $number;
    }
}
0 голосов
/ 14 февраля 2011

Есть несколько способов. Вероятно, наиболее универсально поддерживаемый и рекомендуемый метод - это sprintf.

sprintf("%01.2f", "200.5"); //200.50
sprintf("%01.2f", "10"); //10.00

number_format также хорошо, и имеет всевозможные опции, и он будет добавлять тысячи разделителей и тому подобное, если будет запрошено сделать это.

Существует также функция money_format, но она не поддерживается на серверах Windows.

0 голосов
/ 14 февраля 2011

вы можете использовать number_format для этого.

Пример:

$Amount = 200.00;
echo "$" . number_format($Amount); //$200
...