分部解决方案仅以整数结果

时间:2017-03-30 20:06:06

标签: vb.net visual-studio-2015

我目前正在为一所学校项目编写数学问题课程。我被困在特定部分的分裂部分。

分子总是要大于分母,但商总是需要是一个整数。该程序应该从1-20随机生成数字。

Ex:14/7 = 2 分子>分母=结果是整数,而不是小数。

谢谢!

注意:我们不允许回答我们的答案。除法总是必须产生一个整数。

2 个答案:

答案 0 :(得分:0)

只需将变量声明为整数,然后进行除法。如果你不关心剩余部分或它是如何舍入的。例如来自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

编辑。这是你在找什么?

Public Function InputIsValid(ByVal numerator, ByVal denominator) As Boolean
    If (numerator > denominator) AND (numerator Mod denominator = 0) Then
        Return True
    End If
    Return False
End Function

答案 1 :(得分:0)

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

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