C# に変換する必要がある VB.Net コード:
Dim s = 27 / 15 Mod 1 //result is 0.8
C# の同じ式
var s = 27 / 15 % 1 //result is 0
なぜ違いがあるのですか?Modは両者で異なりますか?
編集: コードを VB から C# に変換しているため、C# コードで VB コードと同じ結果を得る必要があります。
2とは分け方が違います。
VB.NET では、浮動小数点型の結果が得られます。
C# では、これは整数除算です (両方の演算子が整数であるため)。
VB.NET で整数除算演算子を使用すると、同じ結果が得られます。
Dim s = 27 \ 15 Mod 1
C# で VB.NET の結果を取得するには、除算演算子の 1 つが浮動小数点型であることを確認する必要があります。
var s = 27 / 15.0 % 1;
var s = 27.0 / 15 % 1;
var s = 27.0 / 15.0 % 1;