4

2つの数値の除算の結果がVisualBasicで分数であるかどうかを確認するにはどうすればよいですか?

これが私がする必要があることです:

    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

2つの数値のモジュラスを実行できませんでした。それがゼロ以外の場合、それは分数です。

于 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

「Mod」演算子を使用して、整数に変換できるかどうかを確認できます。

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

于 2012-08-06T13:05:43.233 に答える
1

「分数」とは、「非整数」を意味すると思います。技術的には、任意の数を分数として表すことができるからです。

典型的な方法の1つは、剰余演算子を使用することです。

If  x MOD y <> 0 Then
  ' x/y is a fraction
End If
于 2012-08-06T13:05:56.670 に答える
1
If x Mod y = 0 ' Not a fraction
If x Mod y <> 0 ' Fraction
于 2012-08-06T13:04:52.470 に答える
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
于 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 に答える