Мне нужно, чтобы это напечатало число с двумя десятичными точками, я думаю, что я использую этот кусок кода int $decimals = 0
но я не знаю, где мне нужно добавить это.
Вот код, который у меня есть:
<?php
$tempPrice = str_replace(',',"", $price); //gets rid of ","$tempPrice = substr($tempPrice,2); //removes currency from the front
$tempPrice = floatval($tempPrice); //converts to double from string
if($tempPrice > 1000)
{
echo '£' . round(($tempPrice*0.038), 2) . ' per month';
}
else
{
echo 'Lease to buy price not available on this product';
}
?>
Спасибо
Вы можете использовать функцию money_format () php. http://php.net/money_format
например в вашем случае
<?php
$tempPrice = str_replace(',',"", $price); //gets rid of ","$tempPrice = substr($tempPrice,2); //removes currency from the front
$tempPrice = floatval($tempPrice); //converts to double from string
// set international format for the en_GB locale
setlocale(LC_MONETARY, 'en_GB');
if($tempPrice > 1000)
{
echo money_format('%i', $tempPrice ) . " per month";// output->"GBP 1,234.56 per month"}
else
{
echo 'Lease to buy price not available on this product';
}
?>
кроме того, вы можете просто использовать php number_format () http://php.net/number_format на $ tempPrice
echo "£ ". number_format($tempPrice ) . " per month";
по умолчанию number_format () используется английская запись. Вы можете установить собственное количество десятичных знаков, разделитель десятичных знаков и разделитель тысяч
echo "£ ". number_format($tempPrice, 2, ".", "," ) . " per month"; // for $tempPrice=1203.52 output will be "£ 1,203.56 per month"
Других решений пока нет …