除两位数外,整型数全部归零-Java

Except two digits,make all the digits of integer to zero-Java

我有一些整数值,例如 1447948,21163176,95999,我想让它们变成这样:

如何使用 java 来实现?

您可以将任何数字视为字符串来执行此操作:

int number = 1447948;
String number1 = String.valueOf(number);
String[] split = number1.split("");
StringBuilder number2 = new StringBuilder();
for (int i = 0; i < split.length; i++) {
  if(i > 1)
    number2.append("0");
  else
    number2.append(split[i]);
}
int result = Integer.parseInt(number2.toString());
System.out.println(result);

数学是你的朋友。

int magnitude = (int) Math.pow(10, Math.log10(n) - 1)
int o = (int) Math.floor(n / magnitude) * magnitude

其中 n 是输入数字,o 是输出数字。

因为四舍五入是从右数开始的,你不能使用它,你可以从字符串传递并使用基本的正则表达式将非 2 的第一个数字替换为 0 :

int val = 1447948;
int res = Integer.valueOf((""+val).replaceAll("(?<=\d{2})\d", "0"));
//  res : 1400000

(?<=\d{2})\d 匹配前面有两位数字的数字

Workable Demo