首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对于同一方程,C#和VB.Net给出了不同的结果

对于同一方程,C#和VB.Net给出了不同的结果
EN

Stack Overflow用户
提问于 2013-05-11 01:38:37
回答 1查看 221关注 0票数 7

我需要转换成C#的VB.Net代码:

代码语言:javascript
运行
复制
Dim s = 27 / 15 Mod 1 //result is 0.8

C#中的相同方程式

代码语言:javascript
运行
复制
var s = 27 / 15 % 1 //result is 0

为什么会有不同?两者之间的Mod有什么不同?

编辑:我正在将代码从VB转换为C#,因此我需要得到与C#代码中的VB代码相同的结果。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-11 01:40:14

两者之间的划分是不同的。

在VB.NET中,你会得到一个浮点类型的结果。

在C#中,这是整数除法(因为两个运算符都是整数)。

如果在VB.NET中使用整数除法运算符,则会得到相同的结果:

代码语言:javascript
运行
复制
Dim s = 27 \ 15 Mod 1

要在C#中获得VB.NET结果,需要确保其中一个除法运算符是浮点类型:

代码语言:javascript
运行
复制
var s = 27 / 15.0 % 1;
var s = 27.0 / 15 % 1;
var s = 27.0 / 15.0 % 1;
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16487929

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档