首页 > 后端开发 > php教程 > 字段类型decimal(10,1),计算100.0+1.5=101.0,为什么?

字段类型decimal(10,1),计算100.0+1.5=101.0,为什么?

WBOY
发布: 2016-06-23 13:48:06
原创
961 人浏览过

$sql = "update ".$fdyu->table('users')." set yujia=yujia+".$yujia." where user_id=".$user_id;
$db->query($sql);

yujia字段类型为decimal(10,1),假如原yujia字段中的数值是100.0,现在我提交$yujia=1.5,结果yujia字段的值是101.0,少了0.5,为什么?


回复讨论(解决方案)

create temporary table t (n decimal(10,1));insert into t values (100.0);update t set n=n+1.5;select * from t
登录后复制

101.5 

我找到原因了,原来是我的变量用得是整型
$yujia  = isset($_REQUEST['yujia']) ? intval(trim($_REQUEST['yujia'])) : 0;

intval?整形??掉小?。。
改用floatval就可以了

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板