• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

How to identify double length

 
Greenhorn
Posts: 15
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I am getting the double value like below

123456789123456789123456789123456789.22446688

I need to find the length of this double value.

I have tried the following ways:

1) Pretty ordinary way, just converted the incoming value to String and find the length- It is giving wrong length.

2) Used NumerberFormat class like below:

double value=123456789123456123564789121.12345;

DecimalFormat format=new DecimalFormat(".");

String s =format.format(value);

s.length� will give us the length of the double including DOT except length of the digits after the decimal point.

3) If am replacing the line DecimalFormat format=new DecimalFormat ("#"); then,

s.length� will give us the length of the double excluding DOT except length of the digits after the decimal point.

4) We can able to get the length of the double value before decimal point with option 2 and 3. But, we are not able to find the length of the digits after decimal point. I tried with substring, it is also got failed.

5) Then, I have tried using the custom NumberFormat instance, it is giving the length of the double with minor deviation, we can understands that this minor difference due to custom NumberFormatting, I am not sure which format will give us the correct length of the double.

Also used BigDecimal,Please let us if anyone know the solution for this

Thanks in advance
 
Rancher
Posts: 13459
Android Eclipse IDE Ubuntu
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Firstly you aren't telling us how 'you are getting the value', secondly in each case you don't describe the expected value or how you know each test is incorrect.

If you are receiving the value as a double and then trying to work out how many digits there are in the base 10 representation, you're going to be in trouble as the number will be storred in memory in binary and you can't represent a base 10 decimal exactly in base 2.

Can you drop code snippets for each of the test you performed so we can better understand?
 
reply
    Bookmark Topic Watch Topic
  • New Topic