110,536
社区成员
发帖
与我相关
我的任务
分享
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Math.Round(4.00095, 4):{0}", Math.Round(4.00095M, 4));
Console.WriteLine("Math.Round(4.00195, 4):{0}", Math.Round(4.00195M, 4));
Console.WriteLine("Math.Round(7.00095, 4):{0}", Math.Round(7.00095M, 4));
Console.WriteLine("Math.Round(7.00195, 4):{0}", Math.Round(7.00195M, 4));
Console.WriteLine("Math.Round(5.00095, 4):{0}", Math.Round(5.00095M, 4));
Console.WriteLine("Math.Round(5.00195, 4):{0}", Math.Round(5.00195M, 4));
Console.WriteLine("Math.Round(5.0095, 3):{0}", Math.Round(5.0095M, 3));
Console.WriteLine("Math.Round(5.0295, 3):{0}", Math.Round(5.0295M, 3));
Console.WriteLine("Math.Round(5.0395, 3):{0}", Math.Round(5.0395M, 3));
Console.WriteLine("按任意鍵退出...");
Console.ReadKey();
}
}
private static unsafe double InternalRound(double value, int digits, MidpointRounding mode)
{
if (Abs(value) < doubleRoundLimit)
{
double num = roundPower10Double[digits];
value *= num;
if (mode == MidpointRounding.AwayFromZero)
{
double num2 = SplitFractionDouble(&value);
if (Abs(num2) >= 0.5)
{
value += Sign(num2);
}
}
else
{
value = Round(value);
}
value /= num;
}
return value;
}