Zoo tutorials: [ SQL | Linux | XML ]
ProgZoo: [ Java | C# | VB | C++ | Perl ]
Log in

A Gentle Introduction to
C# Programming

Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this type

 

Data types

Literal of type double cannot be implicitly converted to type 'float'; use an 'F' suffix to create a literal of this type

A double can store more decimal places than a float. This means that if convert a double to a float we will lose precision - i.e. the number will be less precise.

1. [ C# ] Cannot convert a float to a double


Big

We cannot even compile a program that might involve a loss of precision. Attempting to (implicitly) convert a double to a float will cause a compile error such as:

Demo.java:4: possible loss of precision
found   : double
required: float
We should do one of the following:
  • Explicitly cast from double to float:
    float d = (float)3.8;
  • Use f to indicate that the literal is a float not a double

2. [ C# ] Problems with Round


Big

This is an issue with Java