在JAVA中,使用整数创建日期,然后回溯到整数会失去精度吗?
在这种情况下是否可能失去精度在JAVA中,使用整数创建日期,然后回溯到整数会失去精度吗?,java,date,casting,int,precision,Java,Date,Casting,Int,Precision,在这种情况下是否可能失去精度 int X = (some integer number); Date D = new Date(X * 1000); int Y = (int)(D.getTime())/1000; 我相信,只要X是某个整数值,Y就会始终与X相同。对吗?不对!你说得不对! 替换行Date D=新日期(X*1000) 日期D=新日期(X*1000L) 不!你说得不对! 替换行Date D=新日期(X*1000) 日期D=新日期(X*1000L) 使用长(64位)数字,而不是整
int X = (some integer number);
Date D = new Date(X * 1000);
int Y = (int)(D.getTime())/1000;
我相信,只要X是某个整数值,Y就会始终与X相同。对吗?不对!你说得不对!
替换行Date D=新日期(X*1000)代码>
日期D=新日期(X*1000L)
不!你说得不对!
替换行Date D=新日期(X*1000)代码>
日期D=新日期(X*1000L)
使用长(64位)数字,而不是整数(32位)。如果使用整数,它可能会溢出(从正到负)。有关详细信息,请参见此链接使用长(64位)数字而不是整数(32位)数字。如果使用整数,它可能会溢出(从正到负)。有关详细信息,请参阅此链接X*1000
可能溢出。。。问题不是精度的损失,而是(似乎)随机日期…X*1000
可能溢出。。。问题不是精度的损失,而是(似乎)随机的日期。。。