2012-03-12 2 views
1

Можно создать дубликат:
How do I format numbers to have only two decimal places?Показать 2 знака после запятой без округления

Я посмотрел всего для решения. Скажем, у меня есть переменная с числом, как это:

$price1 = 1597; 
$price2 = 1497.85; 

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

$price1 = 1597.00; 
$price2 = 1497.85; 

UPDATE:

Я нашел проблему, функция СУММ (всего) MySQL завершает значение:

  $result = mysql_query("SELECT SUM(total), SUM(subtotal) FROM jos_vm_order_list WHERE user_id = '$user_id'"); 

while($totalrow = mysql_fetch_array($result)) 
    { 



    $total = $row['SUM(total)']; 
    $total = number_format($total, 2, '.', ''); 
    $subtotal = $row['SUM(subtotal)']; 
    $subtotal = number_format($subtotal, 2, '.', ''); 

    } 

В любом случае, он не может округлить при использовании функции MySQL SUM()?

Благодарим за помощь заранее.

+2

Итак, кому вы платите пиво, если он/она обнаруживает точный дубликат вашего вопроса на этом сайте? ;) – hakre

+0

Будьте спокойны в новом члене :-) –

+1

Добро пожаловать в Stack Overflow! Прежде чем спросить, найдите в правом верхнем углу, чтобы избежать дублирования вопросов. –

ответ

-1

использование number_format PHP Функция:

number_format(your_number,otional_decimals,optional_decimal_point,optional_1000_separator) 

Вы не можете указать только десятичную точку или 1000 разделитель, если вы укажете, что вам нужно указать оба. При работе с десятичными знаками он будет функционировать как round() и помещать вещи вверх или вниз .5 вверх и вниз .5 вниз.

Как показано ниже:

number_format ($price, 2); 
+1

вы должны передать все четыре параметра, иначе будет добавлен ненужный тысячный разделитель –

-1

использование

number_format(number,decPlaces); 

например,

<?php 

echo number_format(98,2); 

?> 

php ./ttt.php 
98.00 
Смежные вопросы