Vb.net 除法解的结果仅为整数

Vb.net 除法解的结果仅为整数,vb.net,visual-studio-2015,Vb.net,Visual Studio 2015,我目前正在为一个学校项目编写一个数学问题程序。我被困在分割部分的一个特殊部分上 分子必须总是大于分母,而商必须总是一个整数。该程序应该随机生成1-20之间的数字 例:14/7=2 分子>分母=结果是一个整数,而不是小数 谢谢 注意:我们不允许对答案进行四舍五入。除法的结果总是一个整数 只需将变量声明为整数,然后进行除法运算。如果您不关心余数或它是如何四舍五入的。例如,来自Microsoft的: Dim resultValue As Integer resultValue = 11 \ 4 '

我目前正在为一个学校项目编写一个数学问题程序。我被困在分割部分的一个特殊部分上

分子必须总是大于分母,而商必须总是一个整数。该程序应该随机生成1-20之间的数字

例:14/7=2 分子>分母=结果是一个整数,而不是小数

谢谢


注意:我们不允许对答案进行四舍五入。除法的结果总是一个整数

只需将变量声明为整数,然后进行除法运算。如果您不关心余数或它是如何四舍五入的。例如,来自Microsoft的:

 Dim resultValue As Integer
 resultValue = 11 \ 4 'result is 2
 resultValue = 9 \ 3 'result is 3
 resultValue = 100 \ 3 'result is 33
 resultValue = 67 \ -3 'result is -22
如果您想要向上或向下取整,您可以简单地将一个double作为结果值,并将一个新值设置为整数。例如:

Public Function RoundUp(ByVal num) As Long
    If num >= 0 Then
        If num = Int(num) Then
            RoundUp = num
        Else
            RoundUp = Int(num) + 1
        End If
    ElseIf num < 0 Then
        RoundUp = Int(num)
    End If
End Function

Public Function RoundDown(ByVal num) As Long
    RoundDown = Fix(num)
    If num >= 0 Then
        If num = Int(num) Then
            RoundDown = num
        Else
            RoundDown = Int(num)
        End If
    ElseIf Number < 0 Then
        RoundDown = Int(num) - 1
    End If
End Function

要以正确的方式找到结果,可以使用以下代码

        Dim num, den As Double
        If num Mod den = 0 Then
            MsgBox("whole number")
        Else
            MsgBox("decemial number")
        End If

嗨,布兰登!谢谢你的回答。我应该进一步澄清——我们不允许对答案进行取舍。答案必须始终为整数-不允许使用小数:(@DieHard345所以你想要一个函数,如果一个分子除以它的分母就是一个整数,那么它就会返回吗?你的编辑正是我想要的!我有类似的东西,但我不知道如何将它合并到生成用户要解算的数字中。关于这个问题还有什么其他的输入吗?抱歉,这对你的问题来说是比较新的It’不太清楚。你是在试图产生导致整数商的问题吗?如果是,试着将2个整数相乘,用乘积作为红利,用其中一个整数作为除数。你的意思是你想选择一个分子和一个分母,从而得到一个整数的答案吗?如果是,只需选择任意一个整数to是分母和结果,。然后将它们相乘得到分子。抱歉,我在上面澄清了。我需要分子总是比分母大,商每次都需要是整数结果。@DieHard345那么我想你可以在我的评论中使用这个建议。
        Dim num, den As Double
        If num Mod den = 0 Then
            MsgBox("whole number")
        Else
            MsgBox("decemial number")
        End If