【发布时间】:2019-05-05 11:20:58
【问题描述】:
我有一个像这样的 Double:
339.09965653839
如何获得点后的第一个数字?
0 // desired result
我试图研究类似的问题,但不幸的是,我找到了将双精度分成两部分的唯一方法,这也是这两个双精度。我想要一个 Int 然后能够将其打印为字符串。
【问题讨论】:
标签: swift string type-conversion double substring
我有一个像这样的 Double:
339.09965653839
如何获得点后的第一个数字?
0 // desired result
我试图研究类似的问题,但不幸的是,我找到了将双精度分成两部分的唯一方法,这也是这两个双精度。我想要一个 Int 然后能够将其打印为字符串。
【问题讨论】:
标签: swift string type-conversion double substring
将双精度转换为字符串并获取点后的第一个字符。
let value = 339.09965653839
let valueInString = "\(value)".split(separator: ".")
print(valueInString[1].first ?? "")
【讨论】:
. 符号以外的小数分隔符的语言环境,并且有很多这样的语言环境。
要获得Int 的数字,您可以做一些数学运算:
let someNum = 339.09965653839
let digit = Int((someNum - Double(Int(someNum))) * 10)
当然,根据需要在/作为字符串中显示digit 是微不足道的。
【讨论】:
或者,或者:
let number = 123.456
// 1234 % 123 = 4
let digit = Int(number * 10) % Int(number)
【讨论】: