Java 如何去掉最后一个长号?
Java how to remove last numbers of a long?
我正在使用一个查询来根据给定时间获取数据。所以我想获取时间戳并删除它的最后 3 位数字。可能吗?如何?给我一个提示,我会非常感激
如果要删除数字,除以 10^n:
long x = 1234567890L;
long removeLastNDigits(long x, long n) {
return x / Math.pow(10, n);
}
removeLastNDigits(x, 3) == 1234567L;
正如 dasblinkenlight 所指出的,如果你想将最后 n 位数字置为 0,那么在删除它们之后你需要将它们添加回 0:
long x = 1234567890L;
long zeroLastNDigits(long x, long n) {
long tenToTheN = Math.pow(10, n);
return (x / tenToTheN) * tenToTheN;
}
zeroLastNDigits(x, 3) == 1234567000L;
如果要删除最后 3 位数字,只需除以 1000 :
long l = ...;
l = l / 1000;
如果要将最后 3 位数字更改为 0,请除以 1000,然后再乘以 1000:
long l = ...;
l = (l / 1000) * 1000;
除以 1000。
long x = 123456789L;
long withoutLast3 = x / 1000; // equals to 123456L
我认为您应该根据数据库中所需的格式设置时间戳值的格式,如果您要查找的是基于特定格式的日期获取数据的话。
您可以根据日期格式化程序格式化日期,然后在查询中使用它。
检查
DateFormat
SimpleDateFormat
我正在使用一个查询来根据给定时间获取数据。所以我想获取时间戳并删除它的最后 3 位数字。可能吗?如何?给我一个提示,我会非常感激
如果要删除数字,除以 10^n:
long x = 1234567890L;
long removeLastNDigits(long x, long n) {
return x / Math.pow(10, n);
}
removeLastNDigits(x, 3) == 1234567L;
正如 dasblinkenlight 所指出的,如果你想将最后 n 位数字置为 0,那么在删除它们之后你需要将它们添加回 0:
long x = 1234567890L;
long zeroLastNDigits(long x, long n) {
long tenToTheN = Math.pow(10, n);
return (x / tenToTheN) * tenToTheN;
}
zeroLastNDigits(x, 3) == 1234567000L;
如果要删除最后 3 位数字,只需除以 1000 :
long l = ...;
l = l / 1000;
如果要将最后 3 位数字更改为 0,请除以 1000,然后再乘以 1000:
long l = ...;
l = (l / 1000) * 1000;
除以 1000。
long x = 123456789L;
long withoutLast3 = x / 1000; // equals to 123456L
我认为您应该根据数据库中所需的格式设置时间戳值的格式,如果您要查找的是基于特定格式的日期获取数据的话。
您可以根据日期格式化程序格式化日期,然后在查询中使用它。
检查
DateFormat
SimpleDateFormat