以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  随机数的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=185384)

--  作者:lgz518
--  发布时间:2023/2/20 14:45:00
--  随机数的问题
EXCEL的公式:((25.8+RAND()/11)+(25.8-RAND()/11))/2
大致的意思:
在(25.8-1/11)与(25.8+1/11)两个数之间取随机数
按原公式的意思,应该是两个随机数的平均值,
即先在25.8到25.8+1/11之间取一个随机数,
然后在25.8-1/11到25.8之间取一个随机数,
最后求两个随机数的平均值

狐表的代码的问题,报错表达式Rand有问题

Select Case e.DataCol.Name
    Case "值3"
      
        Dim d As Double = Rand.Next((e.DataRow("值3") + RAND() / 11) + (e.DataRow("值3") - RAND() / 11)) / 2
        
        e.DataRow("检测1") = d

End Select

如何用代码实现EXCEL的公式的功能?

--  作者:有点蓝
--  发布时间:2023/2/20 14:47:00
--  
Dim d As Double = Rand.Next((e.DataRow("值3") + 1 / 11) + (e.DataRow("值3") - 1 / 11)) / 2
--  作者:lgz518
--  发布时间:2023/2/20 15:21:00
--  
狐表的生成与EXCEL相差很大,如图,狐表的生成的值偏小,如何能实现跟EXCL差不多的功能?

图片点击可在新窗口打开查看此主题相关图片如下:随机数jpg.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2023/2/20 15:27:00
--  
Dim d As Double = ((e.DataRow("值3") + Rand.NextDouble / 11) + (e.DataRow("值3") - Rand.NextDouble / 11)) / 2
[此贴子已经被作者于2023/2/20 15:42:18编辑过]

--  作者:cd_tdh
--  发布时间:2023/2/20 15:39:00
--  
Select Case e.DataCol.Name
    Case "第一列"
        For i As Integer = 0 To 1
            Dim d As Double = ((e.DataRow("第一列") + Rand.NextDouble / 11) + (e.DataRow("第一列") - Rand.NextDouble / 11)) / 2
            e.DataRow("第二列") = d
        Next
End Select