VB 中c=QBCOLOR (rnd*15+1)哪里错了

问题描述:

VB 中c=QBCOLOR (rnd*15+1)哪里错了
如题求解><应该就这句错了,要做成这个200个随机彩色点(颜色用QBColor实现),点的大小在单位3~6之间变化,

改成rnd*15就对了,可是不久取不到15这个颜色了吗,QBcolor不是就0-15这16个颜色吗
1个回答 分类:数学 2014-11-19

问题解答:

我来补答
这是因为Rnd的返回值是个纯小数(大于等于0,小于1的小数),所以当rnd*15+1的值为15.5以上时,VB会自动进位为16,这样就出错了.

其实你的算法本身就有问题,rnd*15的话,怎么算都只有15种颜色,不可能是16种,即使不会出错,也要么没有15这个颜色,要么没有0这个颜色.
正确的应该是:
QBColor(Int(Rnd * 16))
Rnd * 16 将得到 0 到 15.99999...的值,再用Int取整后就得到0到15这16个颜色值了.
 
 
展开全文阅读
剩余:2000