[英]Keep leading zeros when converted from long to string
我正在使用String.format()
將long
轉換為String
。 當傳遞數字> 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();
}
}
實際輸出:合同編號:0000083-001
預期輸出:合同編號:0000123-001
long account = 0000123;
是一個八進制數。 0123 oct是83 dec,這使您的輸出正確。 如果您需要123 dec,則只需輸入long account = 123;
因為前導零對long
存儲的值沒有影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.