C# Math.Ceiling方法向上取整和Math.Floor方法向下取整

Math.Ceiling方法向上取整

  1. 用于对指定的双精度浮点值进行向上取整。这意味着它会返回大于或等于指定数字的最小整数。如果数字是整数,则Math.Ceiling将返回该整数本身。
csharp 复制代码
double number1 = 3.13;
double number2 = 5.0;
double number3 = -2.72;

double result1 = Math.Ceiling(number1);
double result2 = Math.Ceiling(number2);
double result3 = Math.Ceiling(number3);  
  
// 输出:result1= Ceiling of 3.13 is 4  
// 输出:result2 = Ceiling of 5 is 5  
// 输出:result3 = Ceiling of -2.72 is -2  
  1. 如果向上取整并想保留特定数量的小数点呢?那么需要先乘以 10的n次方,n 代表保留几位小数,如下
csharp 复制代码
//要保留1位小数
double number1 = 3.13;
//要保留2位小数
double number2 = 4.357;
//要保留2位小数
double number3 = -7.337;

double result1 = Math.Ceiling(number1 * Math.Pow(10, 1)) / 10;
double result2 = Math.Ceiling(number2 * Math.Pow(10, 2)) / 10 /10;
double result3 = Math.Ceiling(number3 * Math.Pow(10, 2)) / Math.Pow(10, 2);

// 输出:result1= 3.2 
// 输出:result2 = 4.36 
// 输出:result3 = -7.33  

Math.Floor方法向下取整,与上面的正好相反

csharp 复制代码
 double number1 = 3.13;
 double number2 = 5.0;
 double number3 = -2.72;

 double result1 = Math.Floor(number1);
 double result2 = Math.Floor(number2);
 double result3 = Math.Floor(number3);

 //输出: result1 = 3
 //输出: result2 = 5
 //输出: result3 = -3

以及保留小数点数

csharp 复制代码
//要保留1位小数
double number1 = 3.13;
//要保留2位小数
double number2 = 4.357;
//要保留2位小数
double number3 = -7.337;

double result1 = Math.Floor(number1 * Math.Pow(10, 1)) / 10;
double result2 = Math.Floor(number2 * Math.Pow(10, 2)) / 10 / 10;
double result3 = Math.Floor(number3 * Math.Pow(10, 2)) / Math.Pow(10, 2);

// 输出:result1= 3.1 
// 输出:result2 = 4.35 
// 输出:result3 = -7.34  
相关推荐
张人玉1 小时前
c#中Random类、DateTime类、String类
开发语言·c#
future14122 小时前
游戏开发日记
数据结构·学习·c#
军训猫猫头4 小时前
3.检查函数 if (!CheckStart()) return 的妙用 C#例子
开发语言·c#
yngsqq7 小时前
netdxf—— CAD c#二次开发之(netDxf 处理 DXF 文件)
java·前端·c#
每日出拳老爷子7 小时前
[WinForms] 如何为 .NET Framework 4.8 窗体程序添加自定义图标
visualstudio·c#·.net
钢铁男儿14 小时前
C#接口实现详解:从理论到实践,掌握面向对象编程的核心技巧
java·前端·c#
神所夸赞的夏天15 小时前
c#获取Datatable中某列最大或最小的行数据方法
开发语言·c#
我是唐青枫15 小时前
C#.NET serilog 详解
开发语言·c#·.net
future141216 小时前
项目开发日记
前端·学习·c#·游戏开发
我是苏苏1 天前
C#基础:Winform桌面开发中窗体之间的数据传递
开发语言·c#