我有一个舍入到最接近的百分之一的数字。我希望能够检查百分位的价值。有没有一种简单的方法来检查Double in swift中的特定位置?
实施例: 如果值为123.07,我希望能够在7的位置找到数字的值。
所以在Pseudo之类的东西: 双(123.07)。第九= = 7
或者我必须做类似
的事情var value = 123.07
value *= 10
//value is now 1230.7
value % 1
试图确保我以正确的方式做事而不是我知道的唯一方式:)
答案 0 :(得分:4)
使用modf
功能,可以将其简化为:
let hundredth = round(modf(value).1 * 100)
如果您经常使用它,可以创建扩展程序:
extension Double {
var hundredth: Int {
return Int(round(modf(val).1 * 100))
}
}
......并按照这样使用:
123.07.hundredth
答案 1 :(得分:1)
我会这样做:
var value = 123.07;
var hundredth = ((value * 10) - floor(value * 10)) * 10; //floor rounds down
所以,它变成:(1230.70 - 1230.00)* 10 = 7.00
记住,保持简单!