[英]C# and VB.Net give different results for the same equation
我需要轉換為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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.