先放百度的
Math.Ceiling();向上取整 Math.Ceiling()向上取整; d = 4.56789 string res = Math.Ceiling(Convert.ToDecimal(d)).ToString(); res=5 Math.Floor()向下取整 ;string res = Math.Floor(Convert.ToDouble(d)).ToString(); es=4 Math.Round是"就近舍入",当要舍入的是5时与"四舍五入"不同(取偶数),如: Math.Round(0.5,0)=0 floor 和 ceiling是math unit 里的函数,使用前要先 Uses Math。 trunc 和 round 是system unit 里的函数,缺省就可以用。 floor 直接往小的取,比如 floor(-123.55)=-124,floor(123.55)=123 trunc 直接切下整数,比如 trunc(-123.55)=-123, floor(123.55)=123 ceil 直接往大的取,比如 ceil(-123.55)=-123, ceil(123.55)=124 round 计算四舍五入,比如 round(-123.55)=-124,round(123.55)=124
百度知道https://zhidao.baidu.com/question/91857578.html
看了之后由于和其他的网页内容有个别地方好像不符,决定自己实验
实验结果,其他几个没找到函数
从表中可以看出int向0取整,或者说是提取整数部分
Ceiling 向正无穷方向取整
Floor 向负无穷方向取整
Round四舍六入,对于5采取奇进偶不进(朝正无穷方向)
如果有人会使用其他函数或者有什么意见,欢迎留言
为了方便大家测试,留下测试代码
double n; n = 3.4; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); //Console.WriteLine($"trunc:{Math.(n)}") n = 3.6; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); n = 3.5; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); n = 4.5; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); n = -3.4; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); n = -3.6; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); n = -3.5; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); n = -4.5; Console.WriteLine($"测试数据为:{n}"); Console.WriteLine($"Math.Ceiling结果为:{Math.Ceiling(n)}"); Console.WriteLine($"Math.Floor结果为:{Math.Floor(n)}"); Console.WriteLine($"Math.Round结果为:{Math.Round(n)}"); Console.WriteLine($"强制int结果为:{(int)n}"); Console.ReadKey();
当然大家也可以枚举值,然后使用foreach进行测试。
原文地址:https://www.cnblogs.com/hgyzm/p/11847058.html
时间: 2024-10-16 05:36:40