我如何检查两个数字的除法结果是否是Visual Basic中的分数
这是我需要做的:
Dim x As Integer = 12
Dim y As Integer = 5
If TypeOf x/y Is fraction Then
( do something )
End If
提前致谢
你能不能做两个数字的模,然后如果它不是零,它是一个分数?
使用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
使用Mod
运算符查看 x 是否干净地划分为 y:
If x Mod y > 0 Then
' There will be a fraction. do something
End If
If x Mod y = 0 ' Not a fraction
If x Mod y <> 0 ' Fraction
您可以使用“Mod”运算符并检查是否可以将其转换为整数...
Mod 运算符(Visual Basic):http: //msdn.microsoft.com/en-us/library/se0w9esz%28v=vs.100%29.aspx
我假设“分数”是指“非整数”,因为从技术上讲,任何数字都可以表示为分数......
一种典型的方法是使用模运算符:
If x MOD y <> 0 Then
' x/y is a fraction
End If
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
这个解决方案要好得多,O(1) 常数
If x Mod 1 = 0 Then ' Integer
If x Mod 1 <> 0 Then ' Float