在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。
谢谢。 :)
答案 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位的结果。 希望它对你有用。