यह प्रोग्राम काम करता है, सिवाय इसके कि जब एनजेर्स की संख्या 7 से अधिक हो, तो मुझे $ 14.9999999999999 9 8 जैसे उत्तर मिलेगा। 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);
}
}
जैसा कि ऐसा लगता है कि यह होमवर्क है, मैं केवल एक संकेत देता हूं: * DecimalFormat क्लास का उपयोग करें। * –
जावा द्वारा प्रदान की गई कक्षा का उपयोग करने में क्या समस्या है? यह कोई तीसरी पार्टी कक्षा नहीं है। –
http://stackoverflow.com/questions/8819842/best-way-to-format-a-double-value-to-2-decimal-places –