对于从整数到小数的循环。怎么能达到小数?

时间:2013-08-12 15:11:28

标签: asp.net vb.net

有没有办法让循环像这样循环命中60.1875?如果我在.1875开始范围它会起作用,但在这种情况下我不能这样做。

for a from 1 to 60.1875

next a

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

2 个答案:

答案 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),然后您可以将所有内容都包含在一个循环中。