2013-06-22 3 views
3

Если переменная A = 0,07, когда вторит и переменную B = 2100.00, когда повторилPHP десятичная позиция по математике результат

если: $ с = $ а * $ Ь;

, когда конечный результат в целом # (т.е. с = $ 147) есть ли способ, чтобы заставить результат держать 2 знаков после запятой и удерживать задний нули, так что ($ с = 147,00) ??

Я попытался следующие, но результат все равно сообщил целый ряд без закрывающего нули:

$c = round($c,2); 

Так что очевидно, что я здесь отсутствует?

ответ

4

Посмотрите на функцию PHP number_format(). Вы можете:

$cStr = number_format($c, 2); 

, чтобы получить строку с двумя десятичными знаками. Обратите внимание, что результат number_format() является string, а не номер

+2

Или 'printf («%. 2f », $ number)' (может быть, более удобно, если вы все равно собираетесь его печатать) –

+0

Ну, это работает, но вы сказали, что результатом является строка, а не число , Это предварительная обработка в электронной тележке перед отправкой на платежный шлюз. Передача результата на шлюз в виде строки и числа не имеет значения, не так ли? – DMSJax

+0

Как вы передаете это шлюзу? –

1

Если вы хотите, чтобы отформатировать число в виде строки, вы должны использовать number_format()

$c_string = number_format($c, 2); 
0

Там нет никакого способа, чтобы заставить переменную , чтобы иметь 2 десятичных разряда. Вы можете использовать number_format(), чтобы нанести на дисплей.