繁体   English   中英

如何快速将字符串转换为双精度

[英]How to convert string to double in swift

值取自可能包含字符串的Any字典

if value is String {
    total += Double(value)    
}

此代码给出错误“无法使用类型为((Any)''的参数列表调用类型为'Double'的初始化程序“)

if let item = value as? String {
    total += Double(item)
}

此代码给出错误“可选类型'Double'的值” 没有包装;您的意思是使用'!' 要么 '?'?”

Double(fromString)是一个失败的初始化器,结果可能为nil,因此它返回一个可选的Double?

您可以使用Swift的Nil-Coalescing运算符:

if let item = value as? String {
    total += Double(item) ?? 0
}

当值可能为null时,预测任何值有时可能会导致致命错误。 因此,使用??赋予默认值是一个好习惯。

可选类型“ Double”的值 不展开 你是说用'!' 要么 '?'?

出现此错误的原因是,您试图将可选值添加到total

Double(item)产生一个可选结果,因此您可以将其添加到if-let链中。

    if let item = value as? String, let doubleVal = Double(item) {
        total += doubleVal
    }

将Swift字符串转换为Double

使用Double,Float,CGFloat转换浮点值(实数)。

let lessPrecisePI = Float("3.14")
let morePrecisePI = Double("3.1415926536")
let width = CGFloat(Double("200.0")!)

将Swift字符串转换为Int 使用Int和诸如Int32,UInt64等的变体来转换整数值。

let wholeNumber = Int("27")
let smallInt = Int16("34")
let largeInt = Int64("39384")

检查此博客以获取更多详细信息supereasyapps.com

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM