0

これは、私のWebアプリケーションで通貨額を維持するという、技術的な問題というよりも設計上の問題に似ています。

シナリオは次のとおりです-私はhtml形式でいくらかの通貨額を持ってきています。フォームは行のテーブルとして編成されており、読み取り専用の金額とユーザーが入力する金額がほとんどありません。開始見積もりを提案した後、ユーザー入力に基づいて読み取り専用フィールドを更新する必要があります。UIの金額は、ドルとセントの間の小数点を示す数値ですが、バックエンドでは、これらの金額は整数として計算されています。

これは例です。2つの数値3.33と6.60を加算し、合計を表示する場合です。

これらの2つの数値は、最初に333と660に変更され、次に追加され、テキスト操作を使用して9.93に変換されます。

誰かがこの問題の設計レベルの解決策を提案できますか?

4

1 に答える 1

0

フロートは、四捨五入せずにすべての10進値を正確に表すことができないため、通貨には適していません。BigDecimalを使用することをお勧めします。

10進数の通貨値を使用して正しく計算するためにバックエンドに整数が必要な理由はわかりませんが、数値を丸めるか、整数部分を取得する(10進数を切り捨てる)かを選択できます。

于 2013-01-13T14:36:11.227 に答える