What do F and D mean at the end of numeric literals?

Ben C. picture Ben C. · Dec 2, 2010 · Viewed 49.4k times · Source

I've seen some of this symbols, but I cannot find anything strange with it,

double d = 5D;
float f = 3.0F;

What does the D and F behind 5 exactly means?

Answer

EboMike picture EboMike · Dec 2, 2010

Means that these numbers are doubles and floats, respectively. Assume you have

void foo(int x);
void foo(float x);
void foo(double x);

and then you call

foo(5)

the compiler might be stumped. That's why you can say 5, 5f, or 5.0 to specify the type.