CakePHP - 读取()从MySQL中丢失小数

时间:2012-07-18 21:51:40

标签: cakephp cakephp-2.0 cakephp-2.1

在MySQL中我有:

interest_per_day - 0.00076931506849315

但是当我使用时:

$variable = $this->InterestRate->find('all', array('InterestRate.interest_type_id' => $interest_type_id));

在我的$ variable中,interest_per_day是:0.000769315

如何操作DB需要多少小数? 我应该将其转换为DB中的VARCHAR吗? PHP用十进制计算时是否会丢失小数?

这是CakePHP 2.2。

谢谢。 :)

1 个答案:

答案 0 :(得分:0)

您可以使用mysql cast()函数操作十进制plca。您可以在模型中创建一个虚拟字段,以获得具有特定小数位的interest_per_day。

class InterestRate extends AppModel
{
  ....
  public $virtualFields = array('interest_per_day_precise' => 'cast(interest_per_day as decimal(10,5))');
  ....  
}

这将返回另一个名为interest_per_day_precise的字段,其中包含带有小数5位的结果。 希望它对你有用。