Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我需要翻译成 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 结果,您需要确保其中一个除法运算符是浮点类型:
var s = 27 / 15.0 % 1; var s = 27.0 / 15 % 1; var s = 27.0 / 15.0 % 1;