# float (C# Reference)

**Visual Studio 2015**

Updated: July 20, 2015

The `float`

keyword signifies a simple type that stores 32-bit floating-point values. The following table shows the precision and approximate range for the `float`

type.

Type | Approximate range | Precision | .NET Framework type |
---|---|---|---|

`float` | -3.4 × 10^{38}to +3.4 × 10^{38} | 7 digits | System.Single |

By default, a real numeric literal on the right side of the assignment operator is treated as double. Therefore, to initialize a float variable, use the suffix `f`

or `F`

, as in the following example:

float x = 3.5F;

If you do not use the suffix in the previous declaration, you will get a compilation error because you are trying to store a double value into a `float`

variable.

You can mix numeric integral types and floating-point types in an expression. In this case, the integral types are converted to floating-point types. The evaluation of the expression is performed according to the following rules:

If one of the floating-point types is double, the expression evaluates to double or bool in relational or Boolean expressions.

If there is no double type in the expression, the expression evaluates to

`float`

or bool in relational or Boolean expressions.

A floating-point expression can contain the following sets of values:

Positive and negative zero

Positive and negative infinity

Not-a-Number value (NaN)

The finite set of nonzero values

For more information about these values, see IEEE Standard for Binary Floating-Point Arithmetic, available on the IEEE Web site.

In the following example, an int, a short, and a `float`

are included in a mathematical expression giving a `float`

result. (Remember that `float`

is an alias for the System.Single type.) Notice that there is no double in the expression.

class FloatTest { static void Main() { int x = 3; float y = 4.5f; short z = 5; var result = x * y / z; Console.WriteLine("The result is {0}", result); Type type = result.GetType(); Console.WriteLine("result is of type {0}", type.ToString()); } } /* Output: The result is 2.7 result is of type System.Single //'float' is alias for 'Single' */

For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.

Single

C# Reference

C# Programming Guide

Casting and Type Conversions

C# Keywords

Integral Types Table

Built-In Types Table

Implicit Numeric Conversions Table

Explicit Numeric Conversions Table