在C#中的双精度小数点后两位?

我想在C#中保留两位小数的double值,我该怎么做?

double inputValue = 48.485; 

结束后

 inputValue = 48.49; 

相关: C# – 如何四舍五入小数点后两位小数(输出在页面上)

这工作:

 inputValue = Math.Round(inputValue, 2); 
 Math.Round(inputValue, 2, MidpointRounding.AwayFromZero) 

你应该使用

 inputvalue=Math.Round(inputValue, 2, MidpointRounding.AwayFromZero) 

Math.Round

Math.Round将双精度浮点值舍入为指定的小数位数。

MidpointRounding

指定math舍入方法应该如何处理两个数字中间的数字。

基本上上面的函数将把你的inputvalue和四舍五入到2(或你指定的任何数字)小数位。 在MidpointRounding.AwayFromZero当一个数字在另外两个数字的中间时,它会朝向距离零最近数字四舍五入 还有另外一个select,你可以使用这个轮到最近的偶数。

使用Math.Round

 value = Math.Round(48.485, 2); 

另一个简单的方法是使用带参数的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