如何检查两个数字的除法结果是否是视觉基础中的分数
这是我需要做的事情:
Dim x As Integer = 12
Dim y As Integer = 5
If TypeOf x/y Is fraction Then
( do something )
End If
提前致谢
答案 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