Ker*_*y G 42 c# variables decimal rounding
可能重复:
如何将数字四舍五入到C#中的两位小数?
我感兴趣的是如何将变量舍入到两位小数.在下面的示例中,奖金通常是带小数点后四位的数字.有没有办法确保薪酬变量总是四舍五入到小数点后两位?
pay = 200 + bonus;
Console.WriteLine(pay);
Run Code Online (Sandbox Code Playgroud)
Hab*_*bib 83
使用Math.Round并指定小数位数.
Math.Round(pay,2);
Run Code Online (Sandbox Code Playgroud)
将双精度浮点值舍入到指定的小数位数.
将十进制值舍入到指定数量的小数位.
Jon*_*yna 25
你应该使用一种形式Math.Round.请注意,Math.Round除非您指定MidpointRounding值,否则默认为银行家的舍入(舍入到最接近的偶数).如果您不想使用银行家的舍入,您应该使用Math.Round(decimal d, int decimals, MidpointRounding mode),如下所示:
Math.Round(pay, 2, MidpointRounding.AwayFromZero); // .005 rounds up to 0.01
Math.Round(pay, 2, MidpointRounding.ToEven); // .005 rounds to nearest even (0.00)
Math.Round(pay, 2); // Defaults to MidpointRounding.ToEven
Run Code Online (Sandbox Code Playgroud)
您可以对结果进行舍入并用于string.Format设置精度,如下所示:
decimal pay = 200.5555m;
pay = Math.Round(pay + bonus, 2);
string payAsString = string.Format("{0:0.00}", pay);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
123589 次 |
| 最近记录: |