Oracle与Rails中关于number类型的一个小bug

这个bug太奇怪了,还有这样的事!!!

数据表user中一个字段percent的类型是number(4,2),
然后在Rails中我设置这个percent值为1.5,用Rspec测试
user.percent.should == 1.5
测试不通过:
[color=red]expected: 1.5,
got: #<BigDecimal:b1a68838,'0.15E1',8(8)> (using ==)[/color]

然后我将这个percent字段值设置为1.6,用Rspec测试
user.percent.should == 1.6

测试通过了。

你说这是什么情况? :shock:

那个1.5这个值很奇怪?我进行了to_f操作还是不行:
user.percent.to_f.should == 1.5
测试不通过:
[color=red]expected: 1.5,
got: 1.5 (using ==)[/color]
明明相等了,还是不通过??? :o


    it "test" do
contract = Contract.new
contract.return_service_percent = 1.6
contract.return_service_percent.should == 1.6

contract.return_service_percent = 1.5
contract.return_service_percent.to_s.should == '1.5'
contract.return_service_percent.should == 1.5 # 就这一行不能通过测试,fk


contract.return_service_percent = 2
contract.return_service_percent.should == 2
end



---------------------------------------------

有兴趣的同学可以试试,遇到这种事情,哎!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值