• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Java double data type problem

 
Rameshwar Soni
Ranch Hand
Posts: 247
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Can anyone please explain me the output of the following program??? Thanks in advance
 
Jesper de Jong
Java Cowboy
Saloon Keeper
Posts: 15495
43
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The notation for octal number literals, starting with 0, is only for integers.

020 is an integer literal, so it is interpreted as an integer with the decimal value 16, which you then assign to a double, so that the int gets converted to a double.

020.0 is not an octal floating-point literal. It's a decimal floating-point literal; that's why you see the value 20.0 (decimal) printed. A leading 0 when writing a floating-point literal does not mean that the notation is octal.

Look at section 3.10.1 and 3.10.2 of the Java Language Specification for the exact details.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic