我已经看到很多关于如何使用Math.Round()
舍入到两位小数的问题,但是在使用占位符时却没有。这是我最好的尝试,但程序仍然给我14位小数:
Console.Write("\n\nPercentatge Weight: {0}% ",
G[ArrayCount] * 100 / RayTotal,
Math.Round(RayTotal, 2));
在此次运行后,我获得了一个百分比,例如14.3256941565
。
我只想让它成为14.33
应该补充说我还没有取决于用户输入的值。
答案 0 :(得分:2)
占位符{0}
引用第一个参数,但您的舍入值是第二个参数。
要仅使用占位符对其进行格式化,您需要包含指定的F2
,其中2
是小数位数:
Console.Write("\n\nPercentatge Weight: {0:F2}% ", G[ArrayCount] * 100 / RayTotal);
MSDN here中的更多信息。
答案 1 :(得分:2)
如果您已将您的号码作为百分比,则可以使用f2
作为格式字符串来舍入到2位小数:
double myDouble = 14.3256941565;
Console.WriteLine("Percentage Weight: {0:f2}%", myDouble); // Percentage Weight: 14.33%
否则,您可以使用p2
作为格式字符串自动将数字格式化为百分比:
double myDouble = 0.143256941565;
Console.WriteLine("Percentage Weight: {0:p2}", myDouble); // Percentage Weight: 14.33 %
进一步阅读
答案 2 :(得分:0)
double myDouble = 14.3256941565;
Console.WriteLine("Percentage Weight: {0}%", Math.Round(myDouble, 2));