2017-03-09 60 views
0

我想寫一個5位數的郵政編碼到Excel文件。前者爲 。對於編號01803,如果我不將它轉換爲字符串,它會將它存儲爲01803字符串,但在Excel文件中顯示錯誤。所以我想將它存儲爲大十進制數字而不剝離前導0'。但大十進制默認剝離它對於目前的情況。在java中不去除大十進制中的前導零

在Excel中,當我把它保存爲串並轉換,要在Excel中,將剝離前導零的

Address address = new Address(); 
    address.setPostalCode("01803"); 
    String postCode = address.getPostalCode(); 
    if(postCode.matches("^[0-9]*$") && postCode.length() > 2){ 
     if(postCode.charAt(0) == '0'){ 
      System.out.println(postCode.toString());  
     } else { 
      System.out.println(new BigDecimal(postCode).doubleValue());       
     } 
    }else { 
     System.out.println(address.getPostalCode()); 
    } 
+0

將它寫爲「01803」,即帶有前導'''。 –

+0

但它會在excel列中爲'01803? – vk1

+0

使用文本導入嚮導將(單列)CSV文件導入Excel時,只需指定該列爲「文本」。 – Andreas

回答

0

可以試試這個

String abc = 0003; 
formatToCVSValue(abc); 

    public static String formatToCVSValue(String s) 
     { 
      if(s==null || !hasLength(s)) 
       return ""; 
      else 
      { 
       return "\"=\"\""+s+"\"\"\""; 
      } 
     } 

當在Excel中打開號,你會看到完全0003而不是'0003