以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 实现按比例生成随机数的方法 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=134050) |
-- 作者:ls93005 -- 发布时间:2019/4/26 8:30:00 -- 实现按比例生成随机数的方法 比如说我想在某一列中按比例生成随机数: 100个数,(位置在一列中完全随机) 5%(也就是5个,如果可以浮动更好)生成 10以下的数(0-9)随机。 95%(也就是95个)生成10及以上的随机数。 这样的有什么实现思路呢?
|
-- 作者:有点蓝 -- 发布时间:2019/4/26 9:54:00 -- Dim c As Integer = 5 For i As Integer = 1 To c Output.Show(Rand.Next(0,10)) Next For i As Integer = c+1 To 100 Output.Show(Rand.Next(10,10000)) Next
|
-- 作者:ls93005 -- 发布时间:2019/4/26 11:37:00 -- 老师你好,那么如何让这些数字完全随机排列? |
-- 作者:ls93005 -- 发布时间:2019/4/26 11:39:00 -- 还有一个问题,就是,申明变量时可以用For next 循环把变量名连起来用吗? 比如 Dim drs & Index As String = "drs" & Index 这样子,但是这样测试不成功。 For Index As Integer = 0 To 2 Dim drs & Index As String = "drs" & Index Dim drs As new List (of String) Dim drx (9) As String For i1 As Integer = 0 To drx .Length-1 drx1(i1) = sheetn(i)(7,8+i1).Text Next For Each dr As String In drx If dr .Length <> 0 Then drs .Add(dr ) End If Next For Each drsj As String In drs Dim nrow As DataRow = DataTables("路缘石检查数据").AddNew nrow ("公里桩") = glz.TrimEnd("","x","l","s",".","左","右","_","侧").Replace("-","~") nrow ("百米桩") = sheetn(i)(3,2).Text nrow ("项次") = 1 nrow ("数据内容") = drsj nrow ("分表号") = 1 + i nrow ("工程部位") = sheetn(i)(3,4).Text Next Next
|
-- 作者:有点蓝 -- 发布时间:2019/4/26 11:53:00 -- 以下是引用ls93005在2019/4/26 11:37:00的发言:
本来就是随机的
老师你好,那么如何让这些数字完全随机排列? |
-- 作者:有点蓝 -- 发布时间:2019/4/26 11:53:00 -- 回4楼。不能这样定义,只能一个个定义。使用数组或者集合不就行了 [此贴子已经被作者于2019/4/26 11:54:30编辑过]
|
-- 作者:ls93005 -- 发布时间:2019/4/26 11:58:00 -- 这样应该是,先生成第一个小于10的,再生成大于10的吧? |
-- 作者:有点蓝 -- 发布时间:2019/4/26 12:04:00 -- 以下是引用ls93005在2019/4/26 11:58:00的发言:
没看懂,截图详细说明一下
这样应该是,先生成第一个小于10的,再生成大于10的吧? |
-- 作者:ls93005 -- 发布时间:2019/4/26 12:07:00 -- 就是这些 大于10和小于10的数字,要在整个数列中的位置完全随机 |
-- 作者:ls93005 -- 发布时间:2019/4/26 12:24:00 -- 其实也就是有没方法把一个数组或集合全部打乱顺序 |