File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Java double data type problem Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of REST with Spring (video course) this week in the Spring forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Java double data type problem" Watch "Java double data type problem" New topic

Java double data type problem

Rameshwar Soni
Ranch Hand

Joined: Feb 03, 2011
Posts: 247
Can anyone please explain me the output of the following program??? Thanks in advance
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15042

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.

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
It is sorta covered in the JavaRanch Style Guide.
subject: Java double data type problem
It's not a secret anymore!