我进行了很多搜索,以获取确切的要求,即获取float
十进制后没有不想要的零的值。
Eg: 14.0 should be 14
14.1 should be 14.1
到目前为止,我发现的最可能的解决方案是使用sprintf()
:
irb(main):050:0> num = 123.0
=> 123.0
irb(main):051:0> sprintf('%g', num)
=> "123"
这里的问题是我的num
类型String
从更改为Float
。是否可以更改浮点值而不更改其类型?
好吧,我是通过Sawa和BroiSatse的答案获得答案的。
但我想以下内容足以满足我的要求:
irb(main):057:0> num = 14.0
=> 14.0
irb(main):058:0> num = num == num.to_i ? num.to_i : num
=> 14
irb(main):059:0> num = 14.1
=> 14.1
irb(main):060:0> num = num == num.to_i ? num.to_i : num
=> 14.1
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句