将 double 向上舍入为 int
我有一个来自 int/int 的数字(“double”)(例如 10/3)。
在 C# 上进行过度近似并将其转换为 int 的最佳方法是什么?
I have a number ("double") from int/int (such as 10/3).
What's the best way to Approximation by Excess and convert it to int on C#?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
您是否在询问System.Math.Ceiling?
Are you asking about System.Math.Ceiling?
通过“过量近似”,我假设您正在尝试“四舍五入” double 类型的数量。所以,@Doug McClean 的“天花板”方法效果很好。
这是一个注释:
如果您从
double x = 0.8;
开始,并通过(int)x;
进行类型转换,您将得到0
。或者,如果您执行(int)Math.Round(x);
,您将得到1
。如果您从
double y = 0.4;
开始,并通过(int)y;
进行类型转换,您将得到0
。或者,如果执行(int)Math.Round(y);
,您将得到0
。By "Approximation by Excess", I assume you're trying to "round up" the number of type double. So, @Doug McClean's "ceiling" method works just fine.
Here is a note:
If you start with
double x = 0.8;
and you do the type conversion by(int)x;
you get0
. Or, if you do(int)Math.Round(x);
you get1
.If you start with
double y = 0.4;
and you do the type conversion by(int)y;
you get0
. Or, if you do(int)Math.Round(y);
you get0
.考虑 2.42 ,你可以说它是 242/100 顺便说一句,你可以将其简化为 121/50 。
Consider 2.42 , you can say it's 242/100 btw you can simplify it to 121/50 .