2016-05-06 3 views
1

Я хочу преобразовать значение float в int. Для моей, например, значения с плавающей точкой является 40,22, мне нужно целочисленное значение, как этот 4022.Преобразование Float to Int Swift

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

Имеет ли строка (это не поплавок) 2 дробные цифры, а если нет, то каково ожидаемое поведение? – vadian

ответ

3

Вы можете попробовать так:

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!)