[英]Swift: Double/Float is not getting decimal values
我试图用简单的除法得到小数,但总是返回零:
(lldb) po Double(20 / 100)
0.0
(lldb) po Float(20 / 100)
0.0
你们中的任何人都知道为什么返回零? 还是有办法获得0.20
的?
我会非常感谢你的帮助
20 / 100
是 integer 的除法,0 也是如此(因为 100 > 20)。 该 0 被传递给Double.init
。
你想要浮点除法:
20.0/100.0
您也可以使用20.0/100
,因为 Double 除以 Int 是 Double,或者20/100.0
出于同样的原因。
这些都不会准确返回 0.20 ,因为这不能用 Double 表示。 20.0/100
是 0.20000000000000001。 但我认为这就是你要找的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.