Ruby用于日常计算的两个有用的配置

很多刚开始接触脚本语言的人估计都会对整数除法有点不习惯,比如

9/2 =》 4 

 

反正我是觉得不太方便,特别是自己有时候用ruby来计算一点东西,经常就忘记在定义的整数后面加上一个to_f方法。

 

ruby中其实有一个类库可以用来解决这个问题,mathn. 如果你载入了这个库之后,

 

9/2 就会输出 9/2 而不是浮点数。一般来说,用这个解决方法就够用了,但是昨天我写的一个程序用来计算一个稍微复杂一点的数的时候,莫名其妙的给我一个错误,我估计原因应该是因为我的算式里面有指数这样的无理数,mathn还硬要算出一个有理数来,结果溢出了。

 

幸好ruby语言比较灵活,我给ruby的类库重载了一下就可以实现我要的功能。

 

class Float
    def to_s
        format("%.3f", self)
    end
end

class Fixnum
    def / (num)
        self.to_f/num.to_f
    end
end

 

一个是用来给浮点输出格式化一下,后面的就是让整数除法自动的转成浮点数以后再除。简单把,呵呵!

 

irb(main):008:0> 7/3

=> 2.333

irb(main):009:0> 8/2

=> 4.000

 

如果在程序里面想用原来的整数除法,可以用div函数。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值