2つの数値の除算の結果がVisualBasicで分数であるかどうかを確認するにはどうすればよいですか?
これが私がする必要があることです:
Dim x As Integer = 12
Dim y As Integer = 5
If TypeOf x/y Is fraction Then
( do something )
End If
前もって感謝します
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
演算子を使用してMod
、xがyにきれいに分割されるかどうかを確認します。
If x Mod y > 0 Then
' There will be a fraction. do something
End If
「Mod」演算子を使用して、整数に変換できるかどうかを確認できます。
Modオペレーター(Visual Basic):http: //msdn.microsoft.com/en-us/library/se0w9esz%28v=vs.100%29.aspx
「分数」とは、「非整数」を意味すると思います。技術的には、任意の数を分数として表すことができるからです。
典型的な方法の1つは、剰余演算子を使用することです。
If x MOD y <> 0 Then
' x/y is a fraction
End If
If x Mod y = 0 ' Not a fraction
If x Mod y <> 0 ' Fraction
.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
このソリューションははるかに優れており、O(1)定数です
If x Mod 1 = 0 Then ' Integer
If x Mod 1 <> 0 Then ' Float