2014-03-22 3 views
0

Я пытаюсь выбрать значения из таблицы. Но у меня проблема с округлением цифр. Когда число 152725.6050 Я хочу результат 152725.60. но он отображает 122725.61. Это работает очень хорошо, только проблема с десятичной точкой, как 0.6051,0.1251 и т.д.Ошибка десятичного раунда MySQL

select 
d.date1, 
ylit, 
round(d.fat,1), 
round(d.snf,1), 
rs, 
round(rs*ylit,2), 
nlit, 
kalit, 
jlit 
from daily_milk as d, 
$rate_chart[0] as r 
where d.fat=r.fat 
&& d.snf=r.snf 
&& mtype='$mtype' 
&& scode='$society_code_op[0]' 
&& shift='सकाळ' 
&& d.date1 between '$date1' and '$date2' 
&& d.date1 between r.date1 and r.date2 
order by d.date1 
+2

Просто получить значение из базы данных, как это и сделать форматирование PHP стороны, ** как раз перед его выводом пользователя ** (вы можете использовать 'number_format() ',' round() 'и т. д.) –

ответ

0

Если вам действительно нужно это в SQL вы можете сделать

FLOOR(column_name * 100)/100 

вместо

ROUND(column_name, 2) 

SQLFiddle demo

0

Для PHP:

$var = 1.787; 
echo number_format((float)(FLOOR($var * 100)/100), 2, '.', ''); 
Смежные вопросы