2

MySQLでは:

Interest_per_day-0.00076931506849315

しかし、私が使用するとき:

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

私の$variableinterest_per_dayは次のとおりです:0.000769315

DBから必要な小数点以下の桁数を操作するにはどうすればよいですか?DBでVARCHARに変換する必要がありますか?PHPは、小数で計算するときに小数を失う必要がありますか?

CakePHP2.2です。

ありがとうございました。:)

4

1 に答える 1

0

mysql cast()関数を使用して小数点以下の桁数を操作できます。モデルに仮想フィールドを作成して、特定の小数点以下の桁数でinterest_per_dayを取得できます。

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

これにより、小数点以下5桁の結果を含むinterest_per_day_preciseという名前のフィールドがもう1つ返されます。それがあなたのために働いたことを願っています。

于 2012-07-19T10:58:55.277 に答える