查看: 2045|回复: 2

[已经解决] 为什么乘除计算不正确

[复制链接]
梦石
0
星屑
12161
在线时间
4435 小时
注册时间
2014-4-11
回帖
5616

开拓者

发表于 2016-4-10 23:56:53 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
[pre lang="ruby"]30/100*50[/pre]
为什么结果是0
30/100结果也是0

评分

参与人数 1星屑 +35 收起 理由
RyanBern + 35 手动认可奖励

查看全部评分

梦石
0
星屑
14555
在线时间
22062 小时
注册时间
2010-10-24
回帖
302
发表于 2016-4-11 00:02:33 | 显示全部楼层
30.0或者100.0就好了
乐意的话用30.to_f也可以

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

噫
回复

使用道具 举报

梦石
0
星屑
56
在线时间
10 小时
注册时间
2015-10-8
回帖
21
发表于 2016-4-11 12:53:42 | 显示全部楼层
本帖最后由 众位坛友 于 2016-4-11 12:56 编辑

/*的优先级相同,因此计算顺序从左到右。
先计算30/100,得0。(在Ruby中,整数类和整数类的计算,若出现分数,结果向下取整)
再计算0*100,得0。

因此,如无特别需求,常把除法计算放在最后。计算30*50/100就不会出现太大的问题。

评分

参与人数 1星屑 +150 收起 理由
RyanBern + 150 认可答案

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部