[英]Printing out 3 of numbers in java
output的值是100000到10个随机自然数只打印出右端到第三位怎么办? 如果你用 10 的倍数打印出来,就会出现错误,所以,如果我们得到 10 的倍数,我想输出 010
例如,输入 -> 6545 output -> 545,输入 -> 27 output -> 027
我正在使用 java。请帮助我
假设您的输入实际上是int
:
System.out.printf("%03d",inputvalue%1000);
应该给出你想要的结果:
"%03d"
用零填充强制 outputinputvalue%1000
计算除以 1000 的余数(取模),这将切掉最后三位左边的所有数字您可以使用String.valueOf(i)
将 Int 转换为 String。 然后,您只需取字符串的最后 3 个字符并添加 0。因为您的“027”是一个字符串,它不是一个 Int
public static void main(String... args) {
Random rand = new Random();
int upperbound = 100000;
int lowerbound = 10;
int random_integer = rand.nextInt(upperbound - lowerbound) + lowerbound;
String output = String.valueOf(random_integer);
String finaloutput = output;
if (output.length() <= 3) {
for (int i = 0; i < 3 - output.length(); i++) {
finaloutput = "0" + finaloutput;
}
} else {
finaloutput = output.substring(0, 3);
}
System.out.println(random_integer + "->" + finaloutput);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.