Эхо числовое значение правильно - PullRequest
1 голос
/ 26 декабря 2011

Я пытаюсь отобразить массив как цену в php, если цена, например, 2,55 фунтов стерлингов, равна 2,55 фунтов стерлингов, если 2,50 фунтов стерлингов - 2,5 фунта стерлингов, как я могу получить ее, чтобы добавить ноль на конце?.

Поле My Mysql DB в настоящее время установлено в десятичное число (10,2) Большое спасибо :-) С Рождеством!

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ #

<?php 
$query = mysql_query("SELECT * FROM hqfjt_chronoforms_data_dashboard WHERE cf_id =    '1'") or die(mysql_error());
$oilprice = mysql_fetch_object($query);
 $oilpricegasoil = $oilprice->oilpricegasoil;
 $oilpricederv = $oilprice->oilpricederv;
$oilpricekero = $oilprice->oilpricekero;
?>



<tr><?php $gasoilprice = $oilpricegasoil + $row->gasoilmargin;
              $dervprice = $oilpricederv + $row->dervmargin;
              $keroprice = $oilpricekero + $row->keromargin;?>

        <td><?php echo $row->leadname; ?></td>
        <td><?php  echo $row->businessname; ?></td>
        <td><?php  echo $row->postcode; ?></td>
        <td><?php  echo $row->gasoiluser; ?></td>
        <td><?php  echo $row->dervuser; ?></td>
        <td><?php  echo $row->kerouser; ?></td>
        <td><?php echo '£'; echo $gasoilprice; ?></td>
        <td><?php echo '£'; echo $dervprice; ?></td>
        <td><?php echo '£'; echo $keroprice; ?></td>

1 Ответ

1 голос
/ 26 декабря 2011

Простое форматирование

Попробуйте функция number_format :

<?php
  $test = 2.50;
  echo "£", number_format($test, 2); // 2 decimal places
?>

£ 2.50

Будьте осторожны, потому что это округлит .005 до следующего наивысшего цента, что не всегда то, что вы хотите:

Если вам нужно другое округление, попробуйте использовать:

Форматирование денег

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

money_format('%.2n', $number); // 2 decimal points, with national currency symbol

Использовать функцию

В любом случае, я рекомендую вам преобразовать функцию в функцию, чтобы вы могли повторно использовать ее во всем коде и не повторять форматирование чисел:

function toCurrency($number)
{
  return '£' . number_format($number, 2);
}

// ...

<td><?php echo toCurrency($gasoilprice); ?></td>
<td><?php echo toCurrency($dervprice); ?></td>
<td><?php echo toCurrency($keroprice); ?></td>
...