如何检查结果是否为分数

时间:2012-08-06 13:00:26

标签: .net vb.net

如何检查两个数字的除法结果是否是视觉基础中的分数

这是我需要做的事情:

    Dim x As Integer = 12
    Dim y As Integer = 5

    If TypeOf x/y Is fraction Then
        ( do something )
    End If

提前致谢

8 个答案:

答案 0 :(得分:5)

你能不做两个数的模数然后如果不是零,它是一个分数?

答案 1 :(得分:2)

使用Mod,它将返回分组的剩余部分。

Dim x As Integer = 12
Dim y As Integer = 5

If x Mod y > 0 Then
    MsgBox (x & " / " & y & " has a remainder, so it must be a fraction.")
End If

答案 2 :(得分:2)

使用Mod运算符查看x是否干净地分为y:

If x Mod y > 0 Then
  ' There will be a fraction. do something
End If

答案 3 :(得分:1)

If x Mod y = 0 ' Not a fraction
If x Mod y <> 0 ' Fraction

答案 4 :(得分:1)

您可以使用“Mod”运算符并检查是否可以将其转换为Integer ...

Mod Operator(Visual Basic): http://msdn.microsoft.com/en-us/library/se0w9esz%28v=vs.100%29.aspx

答案 5 :(得分:1)

我假设“分数”表示“非整数”,因为技术任何数字都可以表示为分数...

一种典型的方法是使用模数运算符:

If  x MOD y <> 0 Then
  ' x/y is a fraction
End If

答案 6 :(得分:0)

.NET Framework有Math.DivRem所以如果您真的更愿意同时确定股息和剩余部分:

Dim x As Integer = 12
Dim y As Integer = 5
Dim r As Integer
Dim d As Integer = Math.DivRem(x, y, r)

If r <> 0 Then
    ( do something )
End If

答案 7 :(得分:0)

这个解决方案要好得多,O(1)常数

If x Mod 1 = 0 Then ' Integer
If x Mod 1 <> 0 Then ' Float