c# - Java 到 C# - C# 中的 intValue() 等价物

标签 c# java asp.net

我正在尝试将 Java 中的一段代码重写为 C#,但我遇到了一个问题,基本上我正在创建一个返回字符串的方法,但从 c# 和 java 返回的字符串不是相同,因此代码错误。一个问题是下面的代码,

我有这个 Java 代码:

Double localDouble1 = new Double(d1 / 100.0D);
int l = localDouble1.intValue();

我想用C#重写,我试过了

Double localDouble1 = d1 / 100.0D;
int l = Convert.ToInt32(localDouble1);

它编译并工作,但结果不同,在我的特定场景中,Java int l 变量包含 0,而 c# 变量返回 1。

有没有更好的方法来实现我需要做的,和Java一样。

最佳答案

Convert.ToInt32(double) 四舍五入到最接近的整数。 intValue()不会 - 它会截断,就像强制转换一样(如文档所述)。

只是转换为:

int l = (int) localDouble1;

(还要尽量避免像 l 这样看起来像 1 的名称 :)

关于c# - Java 到 C# - C# 中的 intValue() 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7091351/

相关文章:

javascript - 页面刷新 (F5) 后丢失 Ajax-SliderExtender

c# - TabControl WPF 中的延迟加载数据绑定(bind)列表

jquery - 是否有技术可以从网络爬虫中省略某些文本

c# - 将 PNG 图像保存到内存流会导致错误

blackberry - 在 Eclipse 中导入 BlackBerry 项目时出错 - BlackBerry JRE 4.7.0[未绑定(bind)]

java - 检查一个数组是否与java中的另一个数组相反

java - Travis CI 和 JUnit with Gradle 找不到类路径资源

asp.net - 验证问题总结

c# - Entity Framework 返回 NULL 链接对象 C#

c# - 使用正则表达式提取所有内容,直到特定符号重复出现