сбит с толку PHP bcmul () - PullRequest
       18

сбит с толку PHP bcmul ()

2 голосов
/ 21 июня 2011

Почему это вывод 87.5, а не 87.50?

<?php

$quantity = 25;
switch ($quantity)
{
    case ($quantity <= 50):
        $price = 3.50;
        break;
    case ($quantity <= 100):
        $price = 3.00;
        break;
    default:
        break;

}
echo bcmul($price, $quantity, 2);
// 87.5

?>

Ответы [ 3 ]

4 голосов
/ 21 июня 2011

Это округление 87,50, поскольку 87,5 будет таким же.Чтобы исправить, вам нужно:

number_format("87.50",2);
2 голосов
/ 21 июня 2011

Используйте number_format() вместо bcmul()

echo number_format(bcmul($price, $quantity, 2), 2, '.'); // forces to output always 2 diget after .
1 голос
/ 21 июня 2011

Математически 87,5 - 87,50. Если вам нужна дополнительная нумерация, вы можете использовать number_format или money_format для отображения дополнительных 0

...