Numeric - mikeshimura/dbflute GitHub Wiki

DBFlute GoにおけるNumeric(Decimal)の扱い

データベースでNumericを使用するのは、Floatでの誤差を防ぐためであり、Goのint64がカバーする有効数字 18桁で十分なケースがほとんどだと思います。

なお将来、math/big等の機能拡張により19桁以上の有効数字が使用出来る用になった場合は、有効数字19桁以上の場合それを使用出来る用に変更する事も検討します。

df.Numericは下記により定義されています。

type Numeric struct {
	IntValue int64 //total value 10.50 -> 1050
	DecPoint int   //decimal point numeric(10,2) -> 2
}

このIntValueを加減乗除に使用します。

entity作成時、 CreateXxxにて作成すれば、Setup()が呼ばれて、DecPointの設定が行われます。(SelectList()の場合は自動的に呼ばれて設定される。)

String()を呼び出せが、文字列で取り出せます。