所以我的问题是我必须计算 10^n 使得 n ~ 10^5。显然它不适合任何数据类型,因此我决定改用字符串。最后,我确实在初学者书籍 https://beginnersbook.com/2014/07/java-right-padding-a-string-with-spaces-and-zeros/中找到了解决方案。
我不想要BigInteger
乘以 10 n 倍的解决方案。
public class PadRightExample2 {
public static void main(String[] argv) {
System.out.println("#" + rightPadZeros("mystring", 10) + "@");
System.out.println("#" + rightPadZeros("mystring", 15) + "@");
System.out.println("#" + rightPadZeros("mystring", 20) + "@");
}
public static String rightPadZeros(String str, int num) {
return String.format("%1$-" + num + "s", str).replace(' ', '0');
}
}
输出:
#mystring00@
#mystring0000000@
#mystring000000000000@
任何人都可以解释什么是%1$-
什么以及s
用于什么?