【发布时间】:2012-04-27 18:54:37
【问题描述】:
我需要一些帮助,在 java 中将一个大的 double 转换为 int:
(int)System.currentTimeMillis(); //result -186983989 (java)
结果总是返回 int32.minvalue,但我需要与 java 相同的结果。 但在 C# 中:
DateTime Jan1st1970 = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc);
TimeSpan span = DateTime.UtcNow - Jan1st1970;
Int32 resultado = (int)span.TotalMilliseconds; //result is always -2147483648 and i need same as java
【问题讨论】:
-
你真正想要达到什么目的?将
System.currentTimeMillis()转换为int在 Java 中没有任何用处。您真的想要long值的底部 32 位吗? -
我必须迁移该 java 代码,但在 C# 中会给出不同的结果。
-
但是你到底在使用这个值是为了什么?这是一个毫无意义的价值。请注意,它不是返回 MinValue,即 -2,147,483,648。
标签: c#