中易网

Excel 用 VBA 随机数如何保留一位小数

答案:4  悬赏:70  
解决时间 2021-03-15 13:55
c = Round(Rnd * 2000 + 8000, 0) 产生的是整数,c = Round(Rnd * 2000 + 8000, 0) / 10 为什么产生的小数位数特别多?c = Round(Rnd * 200 + 800, 1) 小数位数也特别多?VBA宏如何产生800.0~1000.0一位小数的随机数?
最佳答案
确实如你所述,但原因不知道。不过可用下面表达式间接解决:
C=Int(Rnd * 2000 + 8000 +0.5) / 10
…………
我后来研究了一下,特此补充一下:
检查代码中的C值,也只有一位小数,但显示到工作表中就有多位小数了。
另外如果用工作表四舍五入函数就没问题:WorksheetFunction.Round(Rnd * 200 + 800, 1)
真不知道是怎么回事!
全部回答
你遇到的问题好像是round函数造成的,用int(rnd * 2000 + 8000, 0) / 10 没有任何问题~~~ 具体原因不明
单元格以单精度表示了结果,所以然。定义一下以,为double,如果single 则变成好近似数dim c as doublec = format(Rnd * 200 + 800, "#0.00") range("a1")=c
= 800+ROUND(RND*200,1)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
滚珠丝杠螺母抱死以后怎样拆?谢谢!
华为703l平板英文转成中文
ug截面包含多个圆你怎么解决的啊
请问关于尼康d700加尼康定焦50 1.8D该如何使
天发酒店-餐厅这个地址在什么地方,我要处理
天启》中的天启四骑士分别是谁
1988年农历11月初六是阳历几月几号? 是什么
五道口金融学院复试过来人指点一下呗!考研辅
好享贷在网银显示错误代码12912什么意思
vray测试为什么很多物体反射特别大还有杂点
男朋友是个追求完美的人,老是因为一些小事跟
楼房有网签合同但没有房产证会有什么后果?
马鞍山市花是什么花
张家界海拔多少千米?
root辅助功能打不开
推荐资讯
有人评价:袁宏道笔下的岳阳楼是“现实的、引
四川天一学院怎么样?????
金色光华地址有知道的么?有点事想过去
同学离别的打油诗
求助ps怎么把白色的海浪改成金色的浪花
美的电饭煲
手机屏幕上出现个 S 谁知道怎么弄掉?是哪个
我前几天买了个128G的固态硬盘,到现在已经分
悦湾餐厅在什么地方啊,我要过去处理事情
上海胜奕钢铁贸易公司我想知道这个在什么地方
美高美国际酒店-停车场在哪里啊,我有事要去
谁知道S-cute 此女的名字
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?