在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