テーブルの定義ファイル(dcm.yml)を見てみると、price02やtaxなど金額関係のカラムにはdecimal型が使われていることが分かります。

ProductClass.dcm.ymlには下記のように記載があります。

他のカラムの定義には見かけないprecisionとscaleという設定がありますね。
簡単にいうとprecisionとは全体の桁数、scaleとは小数点以下の桁数を表します。
price02の例では全体で最大1o桁、小数点以下は0桁ということになります。

 

MySQLの場合でいうと、DECIMAL(3,2) というカラムを定義したい場合、precisionが5、scaleが2となります。

参考:https://stackoverflow.com/questions/14940574/what-do-scale-and-precision-mean-when-specifying-a-decimal-field-type-in-doctrin

decimalは金額の計算が必要な場合に使用されますので、EC-CUBEに必須の型と言えるかと思います。ぜひdecimalのprecisionとscaleをご利用になってください。

関連するカスタマイズ

Your proxy directory “/var/www/src/Eccube/..... SSHからマイグレーションなどapp/consoleのコマンドを実行しようとした際に、ドクトリンのキャッシュファイルを書き込めないために発生するエラーです。 通常app/cache/doctrine/proxiesは所有者もグループもapacheとなるため、コマンドラインから他のユーザ...
マイグレーションでショップ設定を変更・共有する方法... 弊社ではショップ設定を変更する時は必ずマイグレーションファイルの実行により行います。 例えば初期状態では有効になっている仮会員を無効にしたり、自動ログイン機能をONにすることを前提にカスタマイズを行なっていく場合などです。 上記コマンドを実行することでマイグレーションファイルが作...
1サイトから複数のデータベースに接続する方法... 複数のEntityManagerを利用し、複数のデータベースからデータを取得したり更新する方法はないのかというご質問をよくお受けします。 既存サイトとの連携やモールショップ化では頻繁に必要となってくる技術かと思います。 なかなか説明するのは難しいのですが、Doctrineの設定上でア...
SQL(Doctrine)のキャッシュ時間を変更してページ高速化... Doctrineでは次のようにして検索結果をキャッシュしておくことができます。商品数やカテゴリー数が多い場合は一気にページが高速化するサイトもありますので場合によってはたいへん有用です。 EC-CUBEのデフォルトでもコード内で何箇所か使用されており、$lifetimeがキャッシュの有...