MySQL十进制问题

时间:2014-03-22 05:21:22

标签: php mysql

我正在尝试从表中选择值。但我有一个数字四舍五入的问题。 当数字为152725.6050时,我想要结果152725.60。但它显示122725.61. 它运行得很好,只有小数点的问题,如0.6051,0.1251等。

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 个答案:

答案 0 :(得分:0)

如果您真的需要在SQL中使用

FLOOR(column_name * 100) / 100

而不是

ROUND(column_name, 2)

这是 SQLFiddle 演示

答案 1 :(得分:0)

对于PHP:

$var = 1.787;
echo number_format((float)(FLOOR($var * 100) / 100), 2, '.', '');