我想在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(或您指定的任何数字)小数位。对于MidpointRounding.AwayFromZero
,当一个数字位于两个数字之间的中间位置时,会将其四舍五入到[[远离零的最近数。。还有另一种选择,您可以使用该值将四舍五入到[[最近的偶数。
float d = 54.9700F;
string s = d.ToString("N2");
Console.WriteLine(s);
结果:
54.97
value = Math.Round(48.485, 2);
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
var strlen = 6;
$"{48.485:F2}"
输出
"48.49"