File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Beginning Java and the fly likes Strange Result Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Strange Result" Watch "Strange Result" New topic
Author

Strange Result

Shaan Shar
Ranch Hand

Joined: Dec 27, 2005
Posts: 1249



Instead of showing 0.90 it's showing 0.8999999999999999. Could anyone give the reason.


The Best way to predict your future is to create it - Every great individual common man
Henry Wong
author
Sheriff

Joined: Sep 28, 2004
Posts: 18538
    
  40

See point 23 of the Beginner's FAQ for an explanation.

Henry


Books: Java Threads, 3rd Edition, Jini in a Nutshell, and Java Gems (contributor)
Tom Fulton
Ranch Hand

Joined: Mar 30, 2006
Posts: 94
It's because of the binary representation of a double, which holds up to 15 digits of precision.

You can get the result you want in at least two ways:

1. Convert the literals from a double to a float (4 bytes instead of 8, and roughly 7 digits of precision), as follows:



2. Format the result to print the number of digits you want, which will round appropriately, as follows:

import java.text.DecimalFormat;



For further information and examples, Google "Number Format Java"
[ April 12, 2006: Message edited by: Tom Fulton ]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Strange Result
 
Similar Threads
why this code is showing me the default value for double ?
how to remove toolbar,menubar from my jsp file
What does this code do?
Array
how to select using check box