字符串到 int 未给出所需的输出

问题描述 投票:0回答:1
print("int==1.0--\(Int("1.0") ?? 0)")
print("int==1--\(Int("1") ?? 0)")

我得到的输出

int==1.0--0
int==1--1

我期待的输出

int==1.0--1
int==1--1

知道为什么第一行输出不为 1

注:

print("int==1--\(Int(1.0) )")

这给出的输出为

1

swift
1个回答
0
投票

原因是“1.0”不是整数的有效字符串表示形式,因此 Int(“1.0”) 不会返回整数值,这就是为什么你得到 0 而不是 1。

我提供更新的代码。

if let floatVal = Double("1.0") {
    print("int==1.0--\(Int(floatVal))")
} else {
    print("int==1.0--0")
}
print("int==1--\(Int("1") ?? 0)")

希望对你有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.