Foxtable(狐表)用户栏目专家坐堂 → 简单功能求助


  共有627人关注过本帖树形打印复制链接

主题:简单功能求助

帅哥哟,离线,有人找我吗?
dknt
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:315 威望:0 精华:0 注册:2023/8/29 15:10:00
简单功能求助  发帖心情 Post By:2024/10/28 16:44:00 [只看该作者]

目的:随机生成N个小数,所有小数和等于1
功能很简单,但是过程很艰难,望大神赐教!!

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/28 17:00:00 [只看该作者]

Dim sum As Decimal = 1
Dim lst As New List (Of Decimal)
Dim n As Integer = 10
For i As Integer = 1 To n - 1
    Dim d As Decimal = Rand.NextDouble()
'    Output.Show(d)
    Do While sum <= d
        d = d / 10
    Loop 
    lst.Add (d)
    sum = sum - d
Next
lst.Add (sum)
Output.Show (String.Join (vbcrlf, lst.ToArray))

 回到顶部
帅哥哟,离线,有人找我吗?
dknt
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:315 威望:0 精华:0 注册:2023/8/29 15:10:00
  发帖心情 Post By:2024/10/28 17:37:00 [只看该作者]

牛逼!!感谢!!!

 回到顶部
帅哥哟,离线,有人找我吗?
dknt
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:315 威望:0 精华:0 注册:2023/8/29 15:10:00
  发帖心情 Post By:2024/10/28 17:50:00 [只看该作者]

大神,有个问题,能排除随机为0的数吗,就是所有随机小数不能出现为0的情况

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/28 19:46:00 [只看该作者]

判断一下,如果是0就重新取一个

 回到顶部
帅哥哟,离线,有人找我吗?
dknt
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:315 威望:0 精华:0 注册:2023/8/29 15:10:00
  发帖心情 Post By:2024/10/29 10:29:00 [只看该作者]

Dim sum As Decimal = 1
Dim lst As New List (Of Decimal)
Dim n As Integer = 10
For i As Integer = 1 To n - 1
    Dim d As Decimal = Rand.NextDouble()
    Do While sum <= d
    if d > 0.1 and d < 0.4 then
        d = d / 10
    Loop 
   end if
    lst.Add (d)
    sum = sum - d
Next
lst.Add (sum)
Output.Show (String.Join (vbcrlf, lst.ToArray))
大神,这代码加上条件后就直接死机了,求助啊

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/29 10:32:00 [只看该作者]

Dim sum As Decimal = 1
Dim lst As New List (Of Decimal)
Dim n As Integer = 10
For i As Integer = 1 To n - 1
    Dim d As Decimal = Rand.Next(1000000, 3000000) / 1000000
'    Output.Show(d)
    Do While sum <= d
        d = d / 10
    Loop 
    lst.Add (d)
    sum = sum - d
Next
lst.Add (sum)
Output.Show (String.Join (vbcrlf, lst.ToArray))

 回到顶部
帅哥哟,离线,有人找我吗?
dknt
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:315 威望:0 精华:0 注册:2023/8/29 15:10:00
  发帖心情 Post By:2024/10/29 11:00:00 [只看该作者]

大神,这个代码写进按钮控件Click事件中报错啊
图片点击可在新窗口打开查看此主题相关图片如下:df15541e6e06403f6abaef2d1fbfa9b.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2024/10/29 11:04:00 [只看该作者]

根据错误提示,认真看7楼代码

 回到顶部
帅哥哟,离线,有人找我吗?
dknt
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:38 积分:315 威望:0 精华:0 注册:2023/8/29 15:10:00
  发帖心情 Post By:2024/10/29 11:15:00 [只看该作者]

谢谢版主!

 回到顶部