Re: Math.ceil方法在java和c#中可能出现不同结果
测试代码
using System;
namespace Test.Basic.Math
{
public class Abs
{
public static void Main()
{
Console.WriteLine((int)System.Math.Abs(System.Math.Ceiling(-1 / 0d)));
Console.WriteLine((float)System.Math.Abs(System.Math.Ceiling(-1 / 0d)));
double a=-1.7976931348623157E+308;
int max=int.MaxValue;
int min=int.MinValue;
Console.WriteLine((int)a);
Console.WriteLine("min-1="+(min-1));
Console.WriteLine("max+1="+(max+1));
// checked
// {
// Console.WriteLine((int)a);
// Console.WriteLine("min-1="+(min-1));
// Console.WriteLine("max+1="+(max+1));
// }
Console.WriteLine("min-1="+Convert.ToUInt32(min-1));
Console.WriteLine("max+1="+Convert.ToInt32(max+1));
Console.ReadLine();
}
}
}
提供下面的Ceil方法
MathUtils
public static int Ceil(double d){
d=Math.Ceiling(d);
if(d>int.MaxValue){
return int.MaxValue;
}
if(d<int.MinValue){
return int.MinValue;
}
return(int)d;
}