2016-03-29 6 views
0

У меня есть код, в котором каждый заказывает определенное количество кофе и кофе в каждой чашке, а программа вычисляет общую цену (purchasePrice). Однако, когда я выставляю цену покупки как двойную, она выводит только число с 1 десятичной точкой. Как я могу изменить его на вывод с 2 десятичными знаками.Преобразование двухместных в 2 десятичных разряда

double purchasePrice = 0; 
    for (counting = 0; counting < coffeeCups; counting++) { 
    System.out.println("Cup " + (counting + 1) + " has " + coffeeShots[counting] + " shot(s) and will cost $" + (2 + coffeeShots[counting]) + "\n"); 
    purchasePrice+= 2 + (coffeeShots[counting]); 
    } 
    System.out.println(coffeeCups + " coffees to purchase."); 
    System.out.println("\nPurchase price is $" + purchasePrice + "."); 

ответ

1

Пожалуйста, обратитесь к Decimal Format

// 2 places of decimal 
DecimalFormat formatter = new DecimalFormat("#.00"); 

System.out.println(formatter.format(1.23)); // 1.23 
System.out.println(formatter.format(1));  // 1.00 
System.out.println(formatter.format(1.234)); // 1.23 
+0

Всякий раз, когда я пытаюсь использовать DecimalFormat в моем коде, кажется, приходит с ошибкой компилятора, что он не может найти символ «DecimalFormat» –

+0

Ну, у вас есть для импорта соответствующего класса. Я считаю, что это 'java.text.DecimalFormat'. –

+0

@ShahrokhAryana Было бы неплохо, если бы вы могли принять/отложить ответ, если ваша проблема решена. Из [здесь] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work): «Принимать ответ важно, поскольку он оба вознаграждает плакаты для решения вашей проблемы и информирует других что ваша проблема решена ». –

Смежные вопросы