2016-10-04 23:46:51 2804次浏览 2条回答 0 悬赏 10 金钱

我通过 ar 取出float(7,2) 的值,如1800.00 结果是18000。1800.01正常显示。
请问是我哪里设置错了吗?

补充于 2016-10-05 08:23

$model->money

如上面这种,我将rule都删了,还是不行

补充于 2016-10-06 08:37

mysql中存的是float(7,2)

补充于 2016-10-06 08:39

我通过mysql 查出来就是1800.00但是走了AR就变成了1800

  • 回答于 2016-10-05 10:36 举报

    给个建议,你可以这么做,查询的时候,不用float函数去取,数据库是怎样就是怎样,然后,在model中提供一个方法,比如:

    public function formatMoney(){
    	return number_format($this->money,2,'.','');
    }
    

    然后,你取的时候,通过$model->formatMoney()来返回格式化后的值,就可以了。
    注意number_format的参数,具体你可以查文档,2表示保留两位小数,他会进行四舍五入,1800它会返回1800.00

  • 回答于 2016-10-12 15:01 举报

    做个findAfter,在里面完成数据转换。

您需要登录后才可以回答。登录 | 立即注册
sturn
主管

sturn

注册时间:2012-01-29
最后登录:2020-04-02
在线时长:50小时6分
  • 粉丝5
  • 金钱405
  • 威望0
  • 积分905

热门问题