Win a copy of Re-engineering Legacy Software this week in the Refactoring forum
or Docker in Action in the Cloud/Virtualization forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Question on float variables

 
Nina Binde
Ranch Hand
Posts: 85
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

This compiles fine and f4.intValue() gives 10 as result, f5.floatValue() gives 1.0 as result. I fail to understand how the result is calculated. Is including e,f and d anywhere in the literal valid?

Thanks for the answers!
 
Barry Gaunt
Ranch Hand
Posts: 7729
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
"1e1f" that's a float literal because of the "f" at the end.
"1e1" that's the exponential notation and means 1 times (ten to the power of 1). Ten to the power of 1 is ten. So "1e1f" is 10.0. The integer part of 10.0 is 10.

I leave you to work out the other one.
[ October 24, 2004: Message edited by: Barry Gaunt ]
 
rogel garcia
Ranch Hand
Posts: 41
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This works like this

1e1 means 1 x 10 powered 1 == 10
this is a double number, since every floating point literal is a double

You can put the D or F to explicity declare this number as a float or double

The results were different because
.1 == 0.1
1 == 1.0
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic