【问题标题】:Float to Int conversion SwiftFloat 到 Int 转换 Swift
【发布时间】:2016-09-01 03:56:57
【问题描述】:

我想将浮点值转换为 int。 例如,我的浮点值是 40.22 ,我需要一个像 4022 这样的 int 值。

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

【问题讨论】:

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

标签: swift floating-point int type-conversion


【解决方案1】:

你可以这样试试:

var myInt = Int(40.22*100)

var myInt = Int(price*100)

【讨论】:

  • 如果值为40.2222呢?
【解决方案2】:

这是最好的解决方案,

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
}

【讨论】:

  • 为这个解决方案投票 ;)
  • 这会将不同的价格4.0240.20 转换为相同的整数结果402,我想知道是否需要这样做。
【解决方案3】:

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

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

【讨论】:

    猜你喜欢
    • 2014-07-24
    • 2011-09-28
    • 2018-03-11
    • 2021-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多