0

有没有办法在循环达到 60.1875 的地方进行这样的 for 循环?如果我从 .1875 开始范围,它将起作用,但在这种情况下我不能这样做。

for a from 1 to 60.1875

next a

编辑:此代码需要测试在不同尺寸纸张上运行打印作业的选项。我们更喜欢测试整数,但我们总是需要测试压力机的外部极限,即 60.1875。

4

2 回答 2

2

您需要 Step 关键字,否则循环将仅以 1 的步长跳转,并且将忽略非整数值。

例如:

Dim start As Decimal = 1
Dim finish As Decimal = 60.1875
For i=start to finish Step 0.0005
    If i = Int(i) Or i=start or i=finish Then
        '... do whatever
    End If
Next

添加了对整数和外部边界的检查,但是这已被取消;有更好的方法来做到这一点!

于 2013-08-12T15:13:56.703 回答
0

我的建议是做类似的事情:

dim limit as decimal = 60.1875
for a = 1 to limit
    Console.WriteLine(a)
next a
Console.WriteLine(limit)

当然,在您的代码中替换Console.WriteLine为您正在使用的任何代码。

我上面的示例输出整数 1 到 60,然后是 60.1875。

如果您出于某种原因迫切需要在单个循环中运行它,那么您可以使用上面的代码来构造 a List(of decimal),然后您可以将所有内容包含在一个循环中。

于 2013-08-12T15:25:03.607 回答