Как мне ограничить количество десятичных знаков, печатаемых для двойного числа?

Эта программа работает, за исключением случаев, когда количество nJars кратно 7, я получу ответ типа $ 14.999999999999998. Для 6 результат будет 14.08. Как исправить исключения для числа, кратного 7, чтобы отображалось что-то вроде 14,99 доллара США?

import java.util.Scanner;
public class Homework_17
{
 private static int nJars, nCartons, totalOunces, OuncesTolbs, lbs;

 public static void main(String[] args)
  {
   computeShippingCost();
  }

  public static void computeShippingCost()
  {
   System.out.print("Enter a number of jars: ");
   Scanner kboard = new Scanner (System.in);
   nJars = kboard.nextInt();
   int nCartons = (nJars + 11) / 12;
   int totalOunces = (nJars * 21) + (nCartons * 25);
   int lbs = totalOunces / 16;
   double shippingCost =  ((nCartons * 1.44) + (lbs + 1) * 0.96) + 3.0;

   System.out.print("$" + shippingCost);
   }
}
22
задан Vaandu 17 January 2012 в 13:24
поделиться