private sub command1_click()
dim a()
a= array(7,8,9,10)
for k = 0 to 2 step 0.5
s = s+a(k)
next k
print s
end sub
执行结果是40,我跟了一下,觉得很奇怪,a(0)=a(0.5)=7 a(1)=8 a(1.5)=a(2)=9
后来我把范围加大了试验还是没找到这个逢0.5时取值的规律,哪位知道?
是不是和编译器对符点数的取舍有关啊?
dim a()
a= array(7,8,9,10)
for k = 0 to 2 step 0.5
s = s+a(k)
next k
print s
end sub
执行结果是40,我跟了一下,觉得很奇怪,a(0)=a(0.5)=7 a(1)=8 a(1.5)=a(2)=9
后来我把范围加大了试验还是没找到这个逢0.5时取值的规律,哪位知道?
是不是和编译器对符点数的取舍有关啊?
解决方案 »
- 用delphi 如何实现在dbgrid编辑列的光标所在的置位插入一个字符
- listbox的tag问题
- 各位下班后或平时都玩什么游戏啊?
- ABC 组件是开源的?还是商用?
- "Timeout exceeded"提示框
- trayicon怎么显示高色彩的ico啊?
- 首次发贴。。多多指教!怎样通过Tprinter设置页面大小(长度和宽度)
- 散分了,想和大家讨论一下门诊分诊的"叫号"处理思路.谢谢啦.
- bitmap设置了TransparentColor后,为何性能大大下降?
- TMemoryStream 类型如何转为:String类型?
- 关于ADOTable!
- 在DOS下的COPY命令在Window下怎么用??
dim a()
a= array(7,8,9,10)
for k = 0 to 2*10 step 0.5*10
s = s+a(k/10)
next k
print s
end sub
再试试
dim a()
a= array(7,8,9,10)
for k = 0 to 2 step 0.5
s = s+a(k)
debug.print a(k) '在调试框中打印一下,查看其值的变化
next k
print s
end sub
1.5 ->2查一下"四舍五入" 是什么“遇双留双”的原因。