倍精度の値を小数点以下2桁にc#で切り上げたいのですがどうすればよいですか。
double inputValue = 48.485;
切り上げ後
inputValue = 48.49;
これは動作します:
inputValue = Math.Round(inputValue, 2);
Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
あなたが使うべきです
inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero)
Math.Roundは倍精度浮動小数点値を指定された小数桁数に丸めます。
2つの数の中間の数を四捨五入方法で処理する方法を指定します。
基本的に上記の関数はあなたの入力値を取り、それを2(またはあなたが指定した数値)の小数点以下の桁数に丸めるでしょう。 MidpointRounding.AwayFromZero
では、ある数字が他の2つの数字の中間にあるときは、ゼロから離れた 最も近い数字に丸められます。 あなたが 最も近い偶数に向かってそれを使うことができるもう一つのオプションがあります。
Math.Round を使う
value = Math.Round(48.485, 2);
もう1つの簡単な方法は、パラメータと一緒にToStringを使用することです。例:
float d = 54.9700F;
string s = d.ToString("N2");
Console.WriteLine(s);
結果:
54.97
下記から試すことができます。これには多くの方法があります。
1.
value=Math.Round(123.4567, 2, MidpointRounding.AwayFromZero) //"123.46"
2.
inputvalue=Math.Round(123.4567, 2) //"123.46"
3.
String.Format("{0:0.00}", 123.4567); // "123.46"
4.
string.Format("{0:F2}", 123.456789); //123.46
string.Format("{0:F3}", 123.456789); //123.457
string.Format("{0:F4}", 123.456789); //123.4568