2017-03-09 1 views
0

Je veux écrire un code postal à 5 ​​chiffres dans un fichier Excel. par ex. pour le numéro 01803 si je ne convertit pas à la chaîne il stocker sous forme de chaîne 01803 mais montre une erreur sur Excel file.So Je veux stocker comme nombre décimal Big sans décaper la principale décimale 0's.but Big par des bandes par défaut il pour le cas actuel.ne pas enlever un zéro de Big Decimal en java

Dans Excel, quand je le stocker sous forme de chaîne et convertir en nombre dans Excel, il arrachera le leader de zéro

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

écrire comme ' « 01803', soit avec un chef de file ' » '. –

+0

Mais ce sera comme '01803 dans la colonne Excel? – vk1

+0

Lorsque vous importez le fichier CSV (simple colonne) dans Excel à l'aide de l'Assistant Importation de texte, spécifiez simplement que la colonne est 'Texte'. – Andreas

Répondre

0

peut donner à ce essayer

String abc = 0003; 
formatToCVSValue(abc); 

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

Quand il est ouvert dans Excel, vous verrez exactement 0003 au lieu de '0003