7

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 コードと同じ結果を得る必要があります。

4

1 に答える 1

17

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;
于 2013-05-10T17:40:14.057 に答える