簡體   English   中英

從long轉換為string時保持前導零

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM