簡體   English   中英

C#和VB.Net給出了相同方程的不同結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM