[ios][swift]swift中如果做基本类型的转换

时间:2021-09-27 10:47:55

在swift中如果做基本类型的转换的?
比如
Int -> Float(Double)
Double -> 保留两位小数
String -> Int
Double -> String

有没有类似Java的Util包呢? 我不熟悉oc

我js经验较多,但swift不能像js那样单纯.
请教下大家,或者给我详细介绍转换规则的帖子也行

根据大家的回答我整理了一下
我用的是xcode6 bate4版本 版本之间可能会又冲突,因为苹果又改进了些许的方法

//扩展Double
extension Double {
    func format(f: String) -> String {
        return NSString(format: "%\(f)f", self)
    }
}

//Int -> Double、Float、String
var i:Int = 1
Double(i)// 1.0
Float(i)// 1.0
i.bridgeToObjectiveC().stringValue// "1"

//String -> Int、Doubel、Float
var s:String = "1.9d2d"
s.toInt()//nil
s.bridgeToObjectiveC().integerValue// 1
s.bridgeToObjectiveC().doubleValue// 1.9
s.bridgeToObjectiveC().floatValue// 1.89999999...

//Double、Float、Int -> String
var d:Double = 1.09
d.bridgeToObjectiveC().stringValue// "1.09"
d.format(".1")//根据extension Double 扩展的方法(四舍五入) -> "1.1"
var f:Float = 1.09
f.bridgeToObjectiveC().stringValue// "1.09"

1.不能直接用String(Int)进行转换
2.Int可以直接使用Double(Int)、Float(Int)
3.大部分的基本类型转换都是用bridgeToObjectiveC()函数处理