检查 Double 中百分之一的值

Checking value of hundredths in Double

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

示例: 如果value是123.07,我希望能够求出7位置的数字的值。

所以在伪类中是这样的: 双(123.07).第一百 == 7

或者我必须做类似的事情

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

努力确保我以正确的方式做事,而不是我知道的唯一方式:)

我会这样做:

var value = 123.07;
var hundredth = ((value * 10) - floor(value * 10)) * 10; //floor rounds down

因此,它变为:(1230.70 - 1230.00) * 10 = 7.00

记住,保持简单!

使用modf函数,它可以变得很简单:

let hundredth = round(modf(value).1 * 100)

如果您打算经常使用它,您可以创建一个扩展程序:

extension Double {
    var hundredth: Int {
        return Int(round(modf(val).1 * 100))
    }
}

...并像这样使用它:

123.07.hundredth