首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何求取分割结果

如何求取分割结果
EN

Stack Overflow用户
提问于 2017-04-03 11:15:47
回答 3查看 353关注 0票数 0
代码语言:javascript
运行
复制
finalResult = Math.Ceiling(result = (x - y) / (z - 1));

我在试着弄个整数。finalResult和结果是两倍。其他人则是int。而且呃..。不起作用。我会感谢你的帮助。谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-04-03 11:22:38

为了获得作为double的此操作的结果,您必须至少创建一个操作数double (参见https://msdn.microsoft.com/en-us/library/3t4w2bkb.aspx)。试着在文字中添加'd‘:

代码语言:javascript
运行
复制
finalResult = Math.Ceiling(result = (x - y) / (z - 1d));

通过执行这个小技巧,您可以确保'1‘将被视为double,而不是int,因此整个操作结果将是一个double。注意:除非您希望舍入这个值,否则应该将舍入方法更改为Math.Round()。注2:通过检查if(z != 0),确保防止除法为0。

票数 2
EN

Stack Overflow用户

发布于 2017-04-03 11:26:50

由于x、y和z都是int,所以除法将作为整数进行,并将被截断。

为了避免这种情况,只需按如下方式进行转换:

代码语言:javascript
运行
复制
finalResult = Math.Ceiling(result = (x - y) / (double)(z - 1));

(我在这里假设你想要集合,所以如果除法的结果是,比如说,1.00001,你会希望舍入的结果是2.0。)

票数 2
EN

Stack Overflow用户

发布于 2017-04-03 11:23:13

您需要一个类型转换才能使Math.Ceiling工作。

代码语言:javascript
运行
复制
Decimal finalResult = Math.Ceiling(((Decimal)(x - y)) / (z - 1));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43183228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档