I wasn't sure why but I did some digging. Double is where the computer assigns the decimals as though in base 2, so 2^-6th would be something like a fractional decimal to count in which gives us the 0.00004 at the end of a double arithmetic. So it was odd when I'd arrive with a simple program adding two double numbers and get a sum. Thankfully in Java there's a class called DecimalFormat in the java.text.* package which allows me to force a specific format of the decimals as a method.
Like so:
public static void main(String[] args){DecimalFormat f= new DecimalFormat("0.000");String numStr1 = JOptionPane.showInputDialog("Enter an Integer");double n1 = Double.parseDouble(numStr1);String numStr2 = JOptionPane.showInputDialog("Enter an Integer");double n2 = Double.parseDouble(numStr2);double total = n1+n2;System.out.println("Total is "+total);System.out.printf("Total is %6.2f\n", (n1+n2));System.out.println("Total is "+f.format((n1+n2)));System.exit(0);
This will give you three outputs, one is the unformatted normalized total, second is a float like total printed (something in C you can do all the time), and finally the formatted output.
I guess that also includes the code of the post. Till next time :)
No comments:
Post a Comment