vb 函数除法余数

来源:百度知道 编辑:UC知道 时间:2024/05/02 12:46:13
窗体有一个命令按钮,一个combox(list=1-20),21个text,其中text1为单独,text2(0-10)是数组。想实现,例如:在text1中输入10000,在combox中选择3,点击按钮,text1中的10000被分别分配到text2(0-2)中,不是除法,会有除不尽的时候,可以按比例分,比如输入的text2(0)=4000,text2(1)=4000,texte2(2)=6000,正好相加等于text1,还没有除不尽的余数。这只是个举例,因为有text2数组有20个文本。能否实现?
谢谢,秀才说得很对,我要的就是这样子,最好最后的余数和前面的数相差不大,像你第一种分发很好3333 3333 3334.不知如何实现,能否写一下代码谢谢

不知楼主是不是这个意思:将一个数分成几份,但最后一个不是平均数。比如10000,就可以分成3333、3333、3334。也就是说前面都平均,最后一个把余数加上。

如果不是这样,会有许多种分法,比如5000,4000,1000;2000,6000,2000等等,这样的话需要一个分配比例,但最后一个数仍然会出现余数问题。

如果我的理解和楼主一样,是可以实现的。

VB中使用MOD运算求两个整数相除的余数:
例如:求27除以5的余数,最简单的方法是
27 Mod 5 就可以了。

也可以用
27 - 27 \ 5 * 5 来求得。
其中 \ 是整数除法的运算符。27 \ 5 的值就等于27除以5的商的整数部分(19 \ 10 = 1)
即是5。由于 \ 和 * 的运算优先组长相同,所以,
27 - 27 \ 5 * 5
=27 - 5 * 5
=27 - 25
=2

我的代码就是前面都平均,最后一个把余数加上。就像3333、3333、3334

你可以吧10000,变成变量呀比如:

Private Sub Command1_Click()
Dim i As Long
For i = 0 To 19
Text2(i) = Text1 \ 20
Next i
Text2(y) = Val(Text2(y).Text) + Text1 Mod 20
End Sub

text1 是是要被分的数,比如刚刚的10000
你连举一反三都不会吗???

用得着这样子?

除法求余

任意的除法只要除数不为0结果都是为商和余数

所以只要一个存商一个存余数的text就可以了!

=============================

没有除不尽的余数,这话怎么理解?

不是除法,会有