4

我如何检查两个数字的除法结果是否是Visual Basic中的分数

这是我需要做的:

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

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

提前致谢

4

8 回答 8

5

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

于 2012-08-06T13:04:30.213 回答
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
于 2012-08-06T13:05:44.870 回答
2

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

If x Mod y > 0 Then
  ' There will be a fraction. do something
End If
于 2012-08-06T13:05:50.277 回答
1
If x Mod y = 0 ' Not a fraction
If x Mod y <> 0 ' Fraction
于 2012-08-06T13:04:52.470 回答
1

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

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

于 2012-08-06T13:05:43.233 回答
1

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

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

If  x MOD y <> 0 Then
  ' x/y is a fraction
End If
于 2012-08-06T13:05:56.670 回答
0

Math.DivRem如果您真的希望同时确定股息和余数,.N ​​ET 框架就有:

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
于 2012-08-07T11:49:10.630 回答
0

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

If x Mod 1 = 0 Then ' Integer
If x Mod 1 <> 0 Then ' Float
于 2016-03-23T21:18:17.910 回答