java - 获取 Int 的最后三位
问题描述
我正在尝试获取 int 的最后三位数字,其值可以是字符串或 int 格式中超过 999 的任何值。
例如,如果我收到 int 12345678,我会得到值 678。
目前,我只能满足 4 位数长的 int 的要求,例如 1899。
使用 String.valueOf(numberReceived).substring(1);
解决方案
模 ( %
) 运算符可让您获得除法后的余数。在您的情况下,您需要最后三位数字,因此您需要使用 % 1000
来获得正确的余数。
例如,2500 / 1000 = 2
。余数为 500。2500 % 1000 = 500
public static int lastThreeDigits(int i) {
return i % 1000;
}
需要注意的是,结果int
不一定是三位数。例如2039
会给你39
而不是039
。
为确保您有三位数,您需要将结果转换为字符串。例如String.format("%03d", i)
如果您的原始数字采用某种String
格式并且您想要获取最后 3 个字符,则可以使用字符串操作而不是算术。例如,这是一个更通用的函数,用于从字符串末尾获取多个字符:
public static String lastNChars(int n, String s) {
return s.substring(Math.max(0, s.length() - n));
}
根据您的需要,有很多不同的方法来编写它。
推荐阅读
- python - 如何在excel中写入不超过100万条来自python数据框的记录
- react-native - ReactNative/ReactJS 的浮动工具栏组件?
- javascript - 在选择时设置默认值
- node.js - Promise 的 Mocha 单元测试抛出错误
- docker - 如何以与环境无关的方式从 Docker 提供静态文件?
- python-3.x - 多索引熊猫数据框:查找与列具有的唯一值数量相关的索引
- php - ajax php在div中打印值
- javascript - window.print() 在手机和 iPad 上不起作用
- javascript - *ngFor 中的 Angular 2 函数表达式
- laravel - 查看干净的 laravel 安装和我的代码之间的区别