Two Laptop Bag
The moose likes Beginning Java and the fly likes How to save the double value in a customized format, such as keeping 6 digits only Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Reply Bookmark "How to save the double value in a customized format, such as keeping 6 digits only" Watch "How to save the double value in a customized format, such as keeping 6 digits only" New topic
Author

How to save the double value in a customized format, such as keeping 6 digits only

cake naiyou
Greenhorn

Joined: Apr 29, 2011
Posts: 27
In my code, the computation can generate double value in its standard long format, like 0.469696968793869

If I just want to save it in a shorter format with just six digits, like 0.469697, and use it for later computation. How to do that? Thanks.
Piyush Joshi
Ranch Hand

Joined: Jun 10, 2011
Posts: 207

There can be many ways of doing this.

One of them is using DecimalFormat class:



Piyush
Rob Spoor
Sheriff

Joined: Oct 27, 2005
Posts: 19216

Not really. This still has the problem that double and float are not precise; see item 20 in our Beginner's FAQ. The only data type in the Java API that can solve this issue is BigDecimal. Never instantiate one from a double though, use the String constructor instead:


SCJP 1.4 - SCJP 6 - SCWCD 5
How To Ask Questions How To Answer Questions
Riaan Nel
Ranch Hand

Joined: Apr 23, 2009
Posts: 157

If the format is only relevant when displaying the data, use DecimalFormat to get a formatted String representation of the double. The double value is just a number - it doesn't have a strict 'format' as such. As an example, 1.000000 and 1.0 are the exact same number.

If precision is important, use a BigDecimal instead of a double.


"The reasonable man adapts himself to the world; the unreasonable one persists in trying to adapt the world to himself. Therefore, all progress depends on the unreasonable man." - George Bernard Shaw
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 32599
    
    4
For displaying the number, it is far easier to use the %f tag. Details in the Java™ Tutorials and in the Formatter class documentation.
 
I agree. Here's the link: http://ej-technologies/jprofiler - if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
 
subject: How to save the double value in a customized format, such as keeping 6 digits only
 
Similar Threads
How to identify double length
How to increase decimal precision
Precision problem with Double type
DecimalFormat dropping zeros
How to retain decimal precisions after converting from String to double