【发布时间】:2014-07-28 14:01:52
【问题描述】:
我最近一直在尝试 swift,但遇到了一个相当简单的问题。
在 Obj-C 中,当我想获取浮点数的小数位数时,我会执行以下操作:
float x = 3.141516
int integer_x = (int)x;
float fractional_x = x-integer_x;
//Result: fractional_x = 0.141516
在斯威夫特中:
let x:Float = 3.141516
let integerX:Int = Int(x)
let fractionalX:Float = x - integerX
-> 由于类型错误,这会导致错误
任何想法如何正确地做到这一点?
提前致谢
马耳他
【问题讨论】:
-
除了文字之外,Swift 中没有自动转换。所以 Swift 不允许你用 x,一个 Float 和 integerX,一个 Int 来做数学运算。您需要将其转换回浮点数:x - Float(integerX)。但是看看下面我的回答,我觉得它应该更适合你。
标签: objective-c math swift type-conversion