标签: long-integer

java.math.BigInteger无法强制转换为java.lang.Long

我有List<Long> dynamics.我希望得到最大的结果Collections.这是我的代码:

List<Long> dynamics=spyPathService.getDynamics();
        Long max=((Long)Collections.max(dynamics)).longValue(); 
Run Code Online (Sandbox Code Playgroud)

这是我的getDynamics:

public List<Long> getDynamics() {

        Session session = null;

        session = this.sessionFactory.getCurrentSession();
        Query query = session
                .createSQLQuery("SELECT COUNT(*) FROM SpyPath WHERE DATE(time)>=DATE_SUB(CURDATE(),INTERVAL 6 DAY) GROUP BY DATE(time) ORDER BY time;");

        List<Long> result = query.list();
        return result;

    }
Run Code Online (Sandbox Code Playgroud)

现在我来了java.math.BigInteger cannot be cast to java.lang.Long.怎么了?

java collections hibernate biginteger long-integer

22
推荐指数
3
解决办法
10万
查看次数

Java:将long转换为Timestamp

我知道,如何TimestampgetTime()方法将a转换为long .

有没有一种方法可以将a转换longTimeStamp

java timestamp long-integer

21
推荐指数
2
解决办法
6万
查看次数

"OverflowError:Python int太大而无法转换为C long"在Windows上但不是mac

我在Windows和Mac上运行完全相同的代码,使用python 3.5 64位.

在Windows上,它看起来像这样:

>>> import numpy as np
>>> preds = np.zeros((1, 3), dtype=int)
>>> p = [6802256107, 5017549029, 3745804973]
>>> preds[0] = p
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    preds[0] = p
OverflowError: Python int too large to convert to C long
Run Code Online (Sandbox Code Playgroud)

但是,此代码在我的Mac上运行正常.任何人都可以帮助解释为什么或为Windows上的代码提供解决方案?非常感谢!

python windows int long-integer

21
推荐指数
3
解决办法
6万
查看次数

警告:此十进制常量仅在ISO C90中无符号

一段代码:

long rangeVar = 0;
rangeVar = atol(p_value);

if (rangeVar >= -2147483648 && rangeVar <= 2147483647)
Run Code Online (Sandbox Code Playgroud)

在编译时,我得到:

警告:此十进制常量仅在ISO C90中无符号

提前致谢

c compiler-construction iso c89 long-integer

20
推荐指数
2
解决办法
3万
查看次数

将long转换为两个int,反之亦然

如何将两个32位整数(int)转换为一个64位long,反之亦然?

java int long-integer

20
推荐指数
2
解决办法
1万
查看次数

1976年3月28日到3月29日期间发生了什么与java.util.GregorianCalendar?

试图使用GregorianCalendar,我在计算特定日期以来的天数时遇到了奇点.在scala解释器中,我输入了:

scala>import java.util.GregorianCalendar
scala>import java.util.Calendar
scala>val dateToday = new GregorianCalendar(2012,Calendar.MAY,22).getTimeInMillis()
dateToday: Long = 1337637600000
scala>val days1 = (dateToday - (new GregorianCalendar(1976,Calendar.MARCH,28).getTimeInMillis())) / (1000*3600*24)
days1: Long = 13203
scala>val days2 = (dateToday - (new GregorianCalendar(1976,Calendar.MARCH,29).getTimeInMillis())) / (1000*3600*24)
days2: Long = 13203
Run Code Online (Sandbox Code Playgroud)

我不知道1976年是闰年的事实是否重要,但是第1天和第2天本应该被分开1.这是自1970年以来唯一发生这种奇点的时刻.

想知道发生了什么,我计算了之前提到的两个日期之间的差异,它给我的时间差别只有23个小时!那天发生了什么?维基百科显然没有提及它.

更重要的是,如何计算自特定日期以来的实际天数?

java scala date gregorian-calendar long-integer

20
推荐指数
2
解决办法
1367
查看次数

为什么C#允许*Long隐式*从Long转换为Float,这可能会失去精度?

一个类似的问题Long in Float,为什么?这里没有回答我在寻找的东西.

C#标准允许从long到float的隐式转换.但任何长于2 ^ 24的长度在表示为浮动时必然会失去其"价值".C#标准清楚地表明,长期浮动转换可能会失去"精确度",但永远不会失去"幅度".

我的问题是
  1. 关于积分类型,"精确"和"幅度"的含义.数字n与数字n + 1完全不同,与实数不同,其中3.333333和3.333329可能被认为足够接近计算(即取决于程序员想要的精度)
  2. 不允许隐式转换从long到浮动邀请到微妙的错误,因为它可能导致长期"默默地"失去价值(作为一个C#程序员,我习惯于编译器在防范这些问题方面做得非常出色)

那么C#语言设计团队允许这种转换是隐含的理由是什么呢?我在这里失踪的是什么证明从长期到浮动的隐性转换是正确的?

.net c# floating-point implicit-conversion long-integer

20
推荐指数
2
解决办法
3489
查看次数

c/c ++中unsigned long/long/int之间有什么区别?

似乎所有这些都占用了4个字节的空间,

那有什么区别?

c syntax integer long-integer

19
推荐指数
3
解决办法
4万
查看次数

node.js有没有正确的方法来解析大数字的JSON?(long,bigint,int64)

当我解析这一小块JSON时

{ "value" : 9223372036854775807 }
Run Code Online (Sandbox Code Playgroud)

这就是我得到的

{ hello: 9223372036854776000 } 
Run Code Online (Sandbox Code Playgroud)

有没有办法正确解析它?

int64 bigint node.js long-integer

19
推荐指数
1
解决办法
1万
查看次数

为什么在 C# 中隐式调用显式十进制 =&gt; long 转换运算符,从而丢失精度?

以下 C# 程序以静默方式隐式调用显式小数到长整型转换运算符,从而丢失精度。

我不明白为什么会发生这种情况。据我了解,在 C# 中,显式运算符不应由语言隐式调用。特别是在这种情况下,静默显式转换正在失去精度(1.1M => 1L)。

这种奇怪的行为实际上导致了我的程序中的错误。

这是简化的代码:

// Custom number class
struct Num
{
    long Raw;
    public static implicit operator Num(long v) => new Num { Raw = v };
}

class Program
{
    static void Main()
    {
        decimal d = 1.1m;
        // The following line implicitly converts d to long (silently losing precision), 
        // then calls Num.op_Implicit(long)
        Num num = (Num)d;  // <=== should not compile???
    }
}
Run Code Online (Sandbox Code Playgroud)

这是生成的 IL。您可以看到它System.Decimal::op_Explicit被调用了,即使它从未被要求过。 …

c# decimal implicit long-integer

19
推荐指数
1
解决办法
781
查看次数