2014-01-03 2 views
-2

Что такое 3 для в коде ниже:Java BigDecimal

номера вашей фантазии здесь лучше оригинальный вопрос:

public float getOrderTotal(float taxRate) { 
     BigDecimal total = new BigDecimal("0.0", 3); 
     for (int i = 0; i < orderItems.length(); i++) { 
      total.add(String.valueOf(orderItems[i].getCost(taxRate))); 
     } 
     return total.setScale(2, BigDecimal.ROUND_UP).floatValue(); 
    } 
+3

API Docs является вашим другом, всегда стараюсь смотреть там. http://docs.oracle.com/javase/7/docs/api/java/math/BigDecimal.html#BigDecimal(java.lang.String, java.math.MathContext) –

+0

Также см. это: http: // stackoverflow .com/questions/7539/use-of-java-math-mathcontext –

+1

Нет такого конструктора, код не будет компилироваться, также есть ошибка в вызове метода add(), BigDecimal неизменяемы –

ответ

0

Это не действительный конструктор BigDecimal. Нет конструктора, соответствующего String и int.

new BigDecimal("0.0", 3); // wrong constructor 

Если вы хотите найти более подробную информацию, следуйте this.

+0

Спасибо всем .... на всякий случай кто-то задавался вопросом, что это пример, над которым я пытаюсь работать. – user3156279

-1

3 - это скала. Кроме того, и должны построить следующим образом

Например, это: выход

System.out.println(new BigDecimal("1234567890.123456789",new MathContext(20))); 
System.out.println(new BigDecimal("1234567890.123456789",new MathContext(10))); 
System.out.println(new BigDecimal("1234567890.123456789",new MathContext(5))); 

воли:

1234567890.123456789 
1234567890 
1.2346E+9