在Double中检查百分之一的值

时间:2015-09-19 14:51:30

标签: ios swift double nsnumber

我有一个舍入到最接近的百分之一的数字。我希望能够检查百分位的价值。有没有一种简单的方法来检查Double in swift中的特定位置?

实施例: 如果值为123.07,我希望能够在7的位置找到数字的值。

所以在Pseudo之类的东西: 双(123.07)。第九= = 7

或者我必须做类似

的事情
var value = 123.07
value *= 10
//value is now 1230.7
value % 1

试图确保我以正确的方式做事而不是我知道的唯一方式:)

2 个答案:

答案 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

记住,保持简单!