VB.NET と SQL Server で従来の会計システムを書き直しています。書き換えを行うために、.NET/SQL プログラマーの新しいチームを招集しました。システムのほとんどは、フロートを使用した金額ですでに完成しています。私がプログラミングした従来のシステム言語には浮動小数点数がなかったので、おそらく 10 進数を使用していたでしょう。
あなたのおすすめは何ですか?
金額に float または decimal データ型を使用する必要がありますか?
どちらの長所と短所は何ですか?
デイリー スクラムで指摘された欠点の1 つは、小数点以下 2 桁を超える結果を返す金額を計算するときは注意が必要だということです。金額を小数点以下2桁に四捨五入する必要があるようです。
もう 1 つの短所は、すべての表示と印刷された金額に、小数点以下 2 桁を示すフォーマット ステートメントが必要なことです。これが行われておらず、金額が正しく見えないことが何度かありました。(つまり、10.2 または 10.2546)
プロは、浮動小数のみのアプローチがディスク上で8バイトを占めることです.10進数は9バイト(10進数の12,2)を消費します。