decimal
を小数点以下第2位まで丸めて、それをdecimal
として保持するにはどうすればよいですか?小数点以下2〜4小数点以下切り上げ
私はこれを行うことができますが、それはコードのにおいがあります。
var myResult = Decimal.Parse(myDecimal.ToString("0.00##"));
これは予期した結果です。
0.028 -> 0.028
0.02999 -> 0.03
decimal
を小数点以下第2位まで丸めて、それをdecimal
として保持するにはどうすればよいですか?小数点以下2〜4小数点以下切り上げ
私はこれを行うことができますが、それはコードのにおいがあります。
var myResult = Decimal.Parse(myDecimal.ToString("0.00##"));
これは予期した結果です。
0.028 -> 0.028
0.02999 -> 0.03
decimal
doesntの(または、おそらくべきではありません)あなたは、ディスプレイのためにそれをフォーマットするまで、「小数点以下の桁数を」持っているを使用することができます。
私はこれを自分で書こうとしていましたが、あなたは私にそれを打ち負かしました:)目的を表示することを除いて、これは全く問題ではありません。 –
私はこれを 'DataTable'に貼り付けて表示しています。そのカラムの型は小数です。私は 'Math.Round'を避けようとしています –
@Daniel - その場合は、実際の10進値をデータテーブルに貼り付け、表示するときにフォーマットします。表示時にはいつもフォーマット文字列を指定するオプションがありますデータ。 (例えば、「Eval」などを使用する場合)。 – Jamiec
あなたは
Math.Round(myResult, 4);
これはうまくいかないでしょう。上記の例を参照してください。 –
"それは動作しません"と言ったときは注意してください。理由を説明。さもなければ、ここに来る人々はこのコードに何か間違っていると思うでしょうし、そうではありません。そのメモでは、私はあなたが "それは動作しません"と言うとき、あなたは "私の目的のためにはうまくいかない"ということを意味します。 –
チェックアウトMath.Round(decimal, Int32)方法:
Math.Round(myDecimal, 4);
var myResult = Decimal.Parse(myDecimal.ToString("f"));
を使用するには、私の[答え]に続いて(http://stackoverflow.com/questions/6872165/rounding-to - 最低でも2から4桁まで/ 6872192#6872192) - なぜ計算の精度を下げたいですか?または、表示目的で計算結果を書式設定したいのは本当ですか?価格は – Jamiec
です。私たちは現在、2つの場所で 'Math.Round'を行っています。 –
'0.02689' - >' 0.03'や '0.027'や' 0.0269'をどう扱うか疑問に思っています(2から4の10進数) – V4Vendetta