有没有办法让循环像这样循环命中60.1875?如果我在.1875开始范围它会起作用,但在这种情况下我不能这样做。
for a from 1 to 60.1875
next a
编辑:此代码需要测试在不同尺寸纸张上运行打印作业的选项。我们更喜欢测试整数,但我们总是需要测试印刷机的外部极限,即60.1875。
答案 0 :(得分: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
添加了对整数和外部边界的检查,但是这是cacked;有更好的方法来做到这一点!
答案 1 :(得分: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。
如果您出于某种原因迫切需要在单个循环中运行它,那么您可以使用上面的代码构造List(of decimal)
,然后您可以将所有内容都包含在一个循环中。