decimal.Round((decimal)1.11111, MidpointRounding.ToEven)
这跟Banker's rounding有关系吗?
double num1 = 1.11111;
double num2 = 5.524;
Console.WriteLine((num1+0.006).ToString("0.00")); //1.12
Console.WriteLine((num2 + 0.006).ToString("0.00")); //5.53
1.119的时候就不对了。
@水牛刀刀: 嗯,是的,改为加0.005应该是可以的
@天行健 自强不息: 恩,确实是个好方法。
decimal num = 1.11111m;
decimal temp = Math.Truncate(num * 100);
if (temp < num * 100)
{
temp++;
}
decimal result = temp / 100;
看意思是加1法?
乘100,取整,+1,再除100.
Math.Ceiling(a * 100)/100