2016-05-06 65 views
1

我想将浮点数转换为int。 对于如我的浮点值是40.22,我需要这样的4022浮点数到整数转换Swift

let price : String = valueArray.objectAtIndex(5) as! String 
let floatValue : Int = Int(price)! * 100 
+2

有字符串(它不是浮点数)总是2个小数位数,如果不是,预期的行为是什么? – vadian

回答

3

int值你可以尝试这样的:

var myInt = Int(40.22*100) 

var myInt = Int(price*100) 
+0

如果数值是40.2222,该怎么办? – Sahil

3

这里是最好的解决办法因为它,

let price : Float = 40.22 

let stringValue : String = "\(price)" 

print(stringValue)  //This prints "40.22" 

let intString = stringValue.stringByReplacingOccurrencesOfString(".", withString: "") 

print(intString)  //This prints "4022" 

if let intValue = Int(intString) { 
    print(intValue) //This gives 4022 
} 
+0

为此解决方案投票;) –

+2

这将不同的价格'4.02'和'40.20'转换为相同的整数结果'402',我想知道是否需要。 –

0

你可以试试这个解决方案,我希望一切顺利。

let price : String = "40.4534522" 
let myStringArr = price.componentsSeparatedByString(".") 
let finalString = myStringArr[0] + myStringArr[1] 
let requiredInt = Int(finalString) 
print(requiredInt!)