ruby-to_i和to_f进行数字转换

本文深入探讨了Ruby中对象的转型与转换机制,通过to_i、to_f等方法实现宽松的类型转换,而Integer、Float等方法则进行严格的类型转换。文章详细解释了这两种转换方式之间的区别,并展示了在实际编程中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

调用to_s、to_i 、to_f这样的方法时,返回的结果是一个新对象,不是将对象作为一个字符串或者整型使用,而是请求一个对象提供符合这些格式中的其中一个可以预期的新对象。
      >>"123abc".to_i
      =>123

ruby提供了名为Integer和Float 的方法,是的,它们看起来像是常量,但是它们确实是方法,只是名称与它们将要转换为的类一致)。这些方法分别与to_i和to_f很相似,但是相对严格:假如要使用它们转换与目标类型不一致的对象,它们会发生异常。
>>Interger(“123abc”)
=>ArgumentError:invalid value for Interger():“123abc”
转换和转型的区别触及一些ruby核心内容。在某种意义上,所有对象都在不停的转型,每一次在对象上调用方法,都使得请求的对象有了特殊的类型。相应地,一个对象的类型代表了在某个特定的时刻,它所能做的所有事情的集合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值