2016-07-18 6 views
-5

Может ли кто-нибудь помочь мне преобразовать строку «15000000» в «150.00»?Форматировать строку в Java

Я попытался сделать это следующим образом:

public static String truncate(String str, int length) { 
    // Ensure String length is longer than requested size. 
    str = str.trim(); 
    if (str.length() > length) { 
     str = str.substring(0, length - 1); 
    } 
    return str; 
} 

private void populateDetails() throws BusinessObjectException, ParseException { 
    List<PolicyProducerDetails> policyProducerDetailsList = null;; 

    if (results!=null) { 
     policyProducerDetailsList = new ArrayList<PolicyProducerDetails>(); 
     for (Iterator<PolhierPprModel> iterator = results.iterator(); iterator.hasNext();) { 
      PolhierPprModel resultPolhierPprModel = (PolhierPprModel) iterator.next(); 
     { 

     String test = resultPolhierPprModel.getCommRate().toString(); 
     String test1 =truncate(test,4); 
     Float test2 = Float.parseFloat(test1); 
     String test3 = String.valueOf(test2); 
     policyProducerDetailsLocal.setCommRateOverride(test3); 
    } 

Я получаю 150.0, но я хочу сделать это 150,00.
Также я не хочу, чтобы он был жестко закодирован, как и я. Любая помощь будет назначена.

+0

Привет, код не является синтаксически правильным, можете ли вы его исправить? – BevynQ

+0

что именно должно быть сделано? ... код в порядке. – Deep

ответ

0

Вы можете использовать класс java.text.DecimalFormat.

DecimalFormat decimalFormat = new DecimalFormat(".00"); 
String result = decimalFormat.format(<your float value>); 
Смежные вопросы