检查 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
我有一个四舍五入到最接近的百分之一的数字。我希望能够检查百分之一位置的值。有没有一种简单的方法可以检查 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