整数除法的数学运算

Posted

技术标签:

【中文标题】整数除法的数学运算【英文标题】:Math operations with integer divisions 【发布时间】:2014-03-24 01:07:43 【问题描述】:

我想知道一个带有许多数学运算的字符串的结果。一个例子:

((49 -(16 - 72))/(21+ (72/(81 + 57))))

我正在使用eval 函数,它可以工作,但是除法运算的结果必须是整数,我不知道该怎么做!有什么想法吗?

【问题讨论】:

外括号是多余的。 @RobG 我知道!但这是我收到的:) 【参考方案1】:

只需使用parseInt:

parseInt((49 -(16 - 72))/(21+ parseInt(72/(81 + 57))))

或者使用按位或0 作为第二个参数:

((49 -(16 - 72))/(21+ (72/(81 + 57))|0))|0

将来Math.trunc 应该是首选方法。

【讨论】:

是的,该代码解析了最终解决方案。我必须把每一个除法操作都搁置一旁。我只是想知道是否有一些选择可以做到这一点。例如,(72/(81 + 57)) = 0 @Daniel976034 将|0 附加到每个部门。目前没有其他办法。 拜托,你能打个例子吗?我不明白你。 @Daniel976034 我编辑了我的答案。但作为一个简短的例子:(1/2|0) === 0 非常感谢@TimWolla。但请记住,它是一个字符串:P

以上是关于整数除法的数学运算的主要内容,如果未能解决你的问题,请参考以下文章

Java除法运算的陷阱

c语言是如何处理除法运算的呀?

Java运算符概要与数学函数

Python中整数运算除法,输出带浮点数

3-整数运算

Leetcode:Divide Two Integers