【发布时间】:2017-04-04 05:36:24
【问题描述】:
我测试了下面的while循环,结果不明白。
var x: Float = 0.0
var counter = 0
while x < 1.41
{
x += 0.1
counter += 1
}
print (counter) // 15
print (x) // 1.5
对于 x
更新: 还有一个。为什么 Double 和 Float 的结果不同?
var x: Double = -0.5
var counter = 0
while x < 1.0
{
x += 0.1
counter += 1
}
print (counter) // 16
print (x)//1.1
var x: Float = -0.5
var counter = 0
while x < 1.0
{
x += 0.1
counter += 1
}
print (counter) // 15
print (x)//1.0
更新 2 和另一个。为什么
var x: Double = 0.0
var counter = 0
while x < 1.5
{
x += 0.1
counter += 1
}
print (counter) // 15
print (x) //1.5
var x: Double = 0.0
var counter = 0
while x <= 1.5
{
x += 0.1
counter += 1
}
print (counter) // 15
print (x) //1.5
【问题讨论】:
-
您希望
x在while循环的最后一次迭代开始时具有什么值?在最后一次迭代结束时它会有什么价值? -
@Hamish 好的,明白了。我添加了一个更新
-
请不要将几个不同的问题合二为一;改为发布新问题!
标签: while-loop floating-point swift3