2017-02-23 22 views
1

小数点以下4桁のように、金額/通貨の金額をデータベースに格納します。 totalAmountDue.toFixed(2)のような表示されているWebページ上のユーザの小数点入力とc#小数点の比較

decimal TotalAmountDue; 
decimal UserInput. 

すべての金額:12.8665

は、私は2つのプロパティを持つC#でOrderクラスを考えてみましょう。つまり、12.87がユーザーに表示されます。ユーザーはWebフォームに数字12.87を入力します。私がC#UserInput >= TotalAmountDueで比較すると、C#でtoFixedに相当する変換が実行されていないので、当然trueを返しません。

Q1。この変換はどのようにして2つの小数を比較できますか?

Q2。これはユーザーに2を表示するだけなので、小数点以下4桁をdbに格納するのは悪い考えですか?

答えて

0

は、通貨がない限り

Math.Round(yourValue, 2, MidpointRounding.AwayFromZero) 

を利用しています。

小数点以下2桁が必要な場合は、それ以上保存するのはなぜですか。通貨がない限り。

+0

ありがとうございました。これらの金額は基本的に価格です。 MidpointRounding.AwayFromZeroはどういう意味ですか? – Iffi

+0

これは一般的にどのように切り上げるかです。詳細については、https://msdn.microsoft.com/en-us/library/system.midpointrounding(v=vs.110).aspxを参照してください。 –

0

あなたは、単に

Math.Round(fourDigitDecimal, 2) 

と二桁に小数点以下を丸めるとあなたの2桁の10進と後でそれを比較することができます。

関連する問題