dev*_*ose 1 java string stringbuilder string-formatting
我正在转换long为String使用String.format().当数字> 0时,它工作正常,但是当我向数字添加前导零时,我在输出中得到一个不同的数字.我的要求是在传递前导零时向用户显示前导零.请指教.
public class CreateContractNumber {
public static void main(String[] args) {
long account = 0000123;
long schedule = 001;
CreateContractNumber ccn = new CreateContractNumber();
System.out.println("CONTRACT #: "+ccn.createContNbr(account, schedule));
}
private String createContNbr(long account, long schedule) {
StringBuilder sb = new StringBuilder();
sb.append(String.format("%07d", account);
sb.append("-");
sb.append(String.format("%03d", schedule);
return sb.toString();
}
}
Run Code Online (Sandbox Code Playgroud)
实际产出:合同#:0000083-001
预期产出:合同#:0000123-001
long account = 0000123;是八进制数.0123 oct是83 dec,这使你的输出正确.如果你需要123 dec只是写long account = 123;为前导零对存储的值没有影响long.
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |