SwiftでFloatをIntに変換する
Convert Float Int Swift
解決:
あなたは変換することができます浮かぶ
このようなSwiftのInt:
var myIntValue:Int = Int(myFloatValue)println '私の値は(myIntValue)'@paulmのコメントでこの結果を達成することもできます:
var myIntValue = Int(myFloatValue)
明示的な変換
Intに変換すると、精度が失われます(事実上切り捨てられます)。数学ライブラリにアクセスすることで、明示的な変換を実行できます。例えば:
あなたがしたい場合 切り捨て そして整数に変換します:
let f = 10.51 let y = Int(floor(f))結果は10です。
あなたがしたい場合 切り上げする そして整数に変換します:
let f = 10.51 let y = Int(ceil(f))結果は11です。
あなたがしたい場合は 明示的に 最も近い整数に丸める
let f = 10.51 let y = Int(round(f))結果は11です。
後者の場合、これは衒学的に見えるかもしれませんが、暗黙の変換がないため、意味的に明確です...たとえば信号処理を行う場合は重要です。
数値を正確に丸める方法はたくさんあります。最終的には、swiftの標準ライブラリメソッドを使用する必要がありますrounded()を使用して、浮動小数点数を必要な精度で丸めます。
丸める 上 使用する.upルール:
let f:Float = 2.2 let i = Int(f.rounded(.up))// 3丸める 下 使用する.downルール:
let f:Float = 2.2 let i = Int(f.rounded(.down))// 2に丸めるには 最寄り 整数の使用.toNearestOrEvenルール:
let f:Float = 2.2 let i = Int(f.rounded(.toNearestOrEven))// 2次の例に注意してください。
let f:Float = 2.5 let i = Int(roundf(f))// 3 let j = Int(f.rounded(.toNearestOrEven))// 2