将变量从String转换为Integer时,变量丢失了前导零,

String[] parts = Firsttt.split(":");
String part1 = parts[0]; // Hour
String part2 = parts[1]; // Minute
Integer part1int = (Integer.valueOf(part1));
part1int++;
Firsttt = part1int +":"+ part2;


是否有一种正确的方法可以做到这一点而又不丢失前导零呢?还是应该只改变结果以再次包括零?

即:Firsttt = "0" + part1int +":"+ part2;

再次添加零的问题在于变量并不总是包含零,因此只需检查是否有更好的方法即可。
谢谢

最佳答案

Integer没有前导零或任何其他格式设置属性。它只是个数字。

如果希望打印输出包含前导零,则建议使用String#format()。要在0低于part1Int时始终获得领先的10,请使用:

String.format("%02d:%s", part1Int, part2);

关于java - 从字符串转换为整数时,丢失前导“0”零,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23041399/

10-12 02:10