Convert.ToSingle Method (System) (2024)

Edit

Share via

  • Reference

Definition

Namespace:
System
Assembly:
System.Runtime.Extensions.dll
Assembly:
System.Runtime.dll
Assembly:
mscorlib.dll
Assembly:
netstandard.dll

Important

Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

Converts a specified value to a single-precision floating-point number.

Overloads

ToSingle(String, IFormatProvider)

Converts the specified string representation of a number to an equivalent single-precision floating-point number, using the specified culture-specific formatting information.

ToSingle(SByte)

Converts the value of the specified 8-bit signed integer to the equivalent single-precision floating-point number.

ToSingle(Object, IFormatProvider)

Converts the value of the specified object to an single-precision floating-point number, using the specified culture-specific formatting information.

ToSingle(UInt64)

Converts the value of the specified 64-bit unsigned integer to an equivalent single-precision floating-point number.

ToSingle(UInt32)

Converts the value of the specified 32-bit unsigned integer to an equivalent single-precision floating-point number.

ToSingle(String)

Converts the specified string representation of a number to an equivalent single-precision floating-point number.

ToSingle(Single)

Returns the specified single-precision floating-point number; no actual conversion is performed.

ToSingle(Object)

Converts the value of the specified object to a single-precision floating-point number.

ToSingle(UInt16)

Converts the value of the specified 16-bit unsigned integer to the equivalent single-precision floating-point number.

ToSingle(Int32)

Converts the value of the specified 32-bit signed integer to an equivalent single-precision floating-point number.

ToSingle(Int16)

Converts the value of the specified 16-bit signed integer to an equivalent single-precision floating-point number.

ToSingle(Double)

Converts the value of the specified double-precision floating-point number to an equivalent single-precision floating-point number.

ToSingle(Decimal)

Converts the value of the specified decimal number to an equivalent single-precision floating-point number.

ToSingle(DateTime)

Calling this method always throws InvalidCastException.

ToSingle(Char)

Calling this method always throws InvalidCastException.

ToSingle(Byte)

Converts the value of the specified 8-bit unsigned integer to the equivalent single-precision floating-point number.

ToSingle(Boolean)

Converts the specified Boolean value to the equivalent single-precision floating-point number.

ToSingle(Int64)

Converts the value of the specified 64-bit signed integer to an equivalent single-precision floating-point number.

ToSingle(String, IFormatProvider)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the specified string representation of a number to an equivalent single-precision floating-point number, using the specified culture-specific formatting information.

public: static float ToSingle(System::String ^ value, IFormatProvider ^ provider);
public static float ToSingle (string value, IFormatProvider provider);
public static float ToSingle (string? value, IFormatProvider? provider);
static member ToSingle : string * IFormatProvider -> single
Public Shared Function ToSingle (value As String, provider As IFormatProvider) As Single

Parameters

value
String

A string that contains the number to convert.

provider
IFormatProvider

An object that supplies culture-specific formatting information.

Returns

Single

A single-precision floating-point number that is equivalent to the number in value, or 0 (zero) if value is null.

Exceptions

FormatException

value is not a number in a valid format.

OverflowException

value represents a number that is less than Single.MinValue or greater than Single.MaxValue.

Examples

The following example uses IFormatProvider objects that represent the en-US and fr-FR cultures when it converts the elements in an array of numeric strings to Single values.

using System;using System.Globalization;public class Example{ public static void Main() { string[] values = { "123456789", "12345.6789", "12 345,6789", "123,456.789", "123 456,789", "123,456,789.0123", "123 456 789,0123", "1.235e12", "1.03221e-05", Double.MaxValue.ToString() }; CultureInfo[] cultures = { new CultureInfo("en-US"), new CultureInfo("fr-FR") }; foreach (CultureInfo culture in cultures) { Console.WriteLine("String -> Single Conversion Using the {0} Culture", culture.Name); foreach (string value in values) { Console.Write("{0,22} -> ", value); try { Console.WriteLine(Convert.ToSingle(value, culture)); } catch (FormatException) { Console.WriteLine("FormatException"); } catch (OverflowException) { Console.WriteLine("OverflowException"); } } Console.WriteLine(); } }}// The example displays the following output:// String -> Single Conversion Using the en-US Culture// 123456789 -> 1.234568E+08// 12345.6789 -> 12345.68// 12 345,6789 -> FormatException// 123,456.789 -> 123456.8// 123 456,789 -> FormatException// 123,456,789.0123 -> 1.234568E+08// 123 456 789,0123 -> FormatException// 1.235e12 -> 1.235E+12// 1.03221e-05 -> 1.03221E-05// 1.79769313486232E+308 -> Overflow//// String -> Single Conversion Using the fr-FR Culture// 123456789 -> 1.234568E+08// 12345.6789 -> FormatException// 12 345,6789 -> 12345.68// 123,456.789 -> FormatException// 123 456,789 -> 123456.8// 123,456,789.0123 -> FormatException// 123 456 789,0123 -> 1.234568E+08// 1.235e12 -> FormatException// 1.03221e-05 -> FormatException// 1.79769313486232E+308 -> FormatException
open Systemopen System.Globalizationlet values = [| "123456789"; "12345.6789"; "12 345,6789" "123,456.789"; "123 456,789"; "123,456,789.0123" "123 456 789,0123"; "1.235e12"; "1.03221e-05" string Double.MaxValue |]let cultures = [| CultureInfo "en-US"; CultureInfo "fr-FR" |]for culture in cultures do printfn $"String -> Single Conversion Using the {culture.Name} Culture" for value in values do printf $"{value,22} -> " try printfn $"{Convert.ToSingle(value, culture)}" with | :? FormatException -> printfn "FormatException" | :? OverflowException -> printfn "OverflowException" printfn ""// The example displays the following output:// String -> Single Conversion Using the en-US Culture// 123456789 -> 1.234568E+08// 12345.6789 -> 12345.68// 12 345,6789 -> FormatException// 123,456.789 -> 123456.8// 123 456,789 -> FormatException// 123,456,789.0123 -> 1.234568E+08// 123 456 789,0123 -> FormatException// 1.235e12 -> 1.235E+12// 1.03221e-05 -> 1.03221E-05// 1.79769313486232E+308 -> Overflow//// String -> Single Conversion Using the fr-FR Culture// 123456789 -> 1.234568E+08// 12345.6789 -> FormatException// 12 345,6789 -> 12345.68// 123,456.789 -> FormatException// 123 456,789 -> 123456.8// 123,456,789.0123 -> FormatException// 123 456 789,0123 -> 1.234568E+08// 1.235e12 -> FormatException// 1.03221e-05 -> FormatException// 1.79769313486232E+308 -> FormatException
Imports System.GlobalizationModule Example Public Sub Main() Dim values() As String = { "123456789", "12345.6789", "12 345,6789", _ "123,456.789", "123 456,789", "123,456,789.0123", _ "123 456 789,0123", "1.235e12", "1.03221e-05", _ Double.MaxValue.ToString() } Dim cultures() As CultureInfo = { New CultureInfo("en-US"), _ New CultureInfo("fr-FR") } For Each culture As CultureInfo In cultures Console.WriteLine("String -> Single Conversion Using the {0} Culture", _ culture.Name) For Each value As String In values Console.Write("{0,22} -> ", value) Try Console.WriteLine(Convert.ToSingle(value, culture)) Catch e As FormatException Console.WriteLine("FormatException") CAtch e As OverflowException Console.WriteLine("Overflow") End Try Next Console.WriteLine() Next End SubEnd Module' The example displays the following output:' String -> Single Conversion Using the en-US Culture' 123456789 -> 1.234568E+08' 12345.6789 -> 12345.68' 12 345,6789 -> FormatException' 123,456.789 -> 123456.8' 123 456,789 -> FormatException' 123,456,789.0123 -> 1.234568E+08' 123 456 789,0123 -> FormatException' 1.235e12 -> 1.235E+12' 1.03221e-05 -> 1.03221E-05' 1.79769313486232E+308 -> Overflow' ' String -> Single Conversion Using the fr-FR Culture' 123456789 -> 1.234568E+08' 12345.6789 -> FormatException' 12 345,6789 -> 12345.68' 123,456.789 -> FormatException' 123 456,789 -> 123456.8' 123,456,789.0123 -> FormatException' 123 456 789,0123 -> 1.234568E+08' 1.235e12 -> FormatException' 1.03221e-05 -> FormatException' 1.79769313486232E+308 -> FormatException

Remarks

The return value is the result of invoking the Single.Parse method on value.

provider is an IFormatProvider instance that obtains a NumberFormatInfo object. The NumberFormatInfo object provides culture-specific information about the format of value. If provider is null, the NumberFormatInfo for the current culture is used.

If you prefer not to handle an exception if the conversion fails, you can call the Single.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

Applies to

ToSingle(SByte)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

This API is not CLS-compliant.

Converts the value of the specified 8-bit signed integer to the equivalent single-precision floating-point number.

public: static float ToSingle(System::SByte value);
[System.CLSCompliant(false)]public static float ToSingle (sbyte value);
[<System.CLSCompliant(false)>]static member ToSingle : sbyte -> single
Public Shared Function ToSingle (value As SByte) As Single

Parameters

value
SByte

The 8-bit signed integer to convert.

Returns

Single

An 8-bit signed integer that is equivalent to value.

Attributes

CLSCompliantAttribute

Examples

The following example converts each element in a signed byte array to a Single value.

sbyte[] numbers = { SByte.MinValue, -23, 0, 17, SByte.MaxValue };float result;foreach (sbyte number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the SByte value '-128' to the Single value -128.// Converted the SByte value '-23' to the Single value -23.// Converted the SByte value '0' to the Single value 0.// Converted the SByte value '17' to the Single value 17.// Converted the SByte value '127' to the Single value 127.
let numbers = [| SByte.MinValue; -23y; 0y; 17y; SByte.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the SByte value '-128' to the Single value -128.// Converted the SByte value '-23' to the Single value -23.// Converted the SByte value '0' to the Single value 0.// Converted the SByte value '17' to the Single value 17.// Converted the SByte value '127' to the Single value 127.
Dim numbers() As SByte = { SByte.MinValue, -23, 0, 17, SByte.MaxValue }Dim result As SingleFor Each number As SByte In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the SByte value '-128' to the Single value -128.' Converted the SByte value '-23' to the Single value -23.' Converted the SByte value '0' to the Single value 0.' Converted the SByte value '17' to the Single value 17.' Converted the SByte value '127' to the Single value 127.

Applies to

ToSingle(Object, IFormatProvider)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified object to an single-precision floating-point number, using the specified culture-specific formatting information.

public: static float ToSingle(System::Object ^ value, IFormatProvider ^ provider);
public static float ToSingle (object value, IFormatProvider provider);
public static float ToSingle (object? value, IFormatProvider? provider);
static member ToSingle : obj * IFormatProvider -> single
Public Shared Function ToSingle (value As Object, provider As IFormatProvider) As Single

Parameters

value
Object

An object that implements the IConvertible interface.

provider
IFormatProvider

An object that supplies culture-specific formatting information.

Returns

Single

A single-precision floating-point number that is equivalent to value, or zero if value is null.

Exceptions

FormatException

value is not in an appropriate format.

InvalidCastException

value does not implement IConvertible.

OverflowException

value represents a number that is less than Single.MinValue or greater than Single.MaxValue.

Examples

The following example defines a Temperature class that implements the IConvertible interface. Its implementation of the IConvertible.ToSingle method returns the internal value of a private Single variable that represents the temperature.

using System;using System.Globalization;public class Temperature : IConvertible{ private float m_Temp; public Temperature(float temperature) { this.m_Temp = temperature; } public float Celsius { get { return this.m_Temp; } } public float Kelvin { get { return this.m_Temp + 273.15f; } } public float Fahrenheit { get { return (float) Math.Round(this.m_Temp * 9 / 5 + 32, 2); } } public override string ToString() { return m_Temp.ToString("N2") + " °C"; } // IConvertible implementations. public TypeCode GetTypeCode() { return TypeCode.Object; } public bool ToBoolean(IFormatProvider provider) { if (m_Temp == 0) return false; else return true; } public byte ToByte(IFormatProvider provider) { if (m_Temp < Byte.MinValue || m_Temp > Byte.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the Byte type.", this.m_Temp)); else return Convert.ToByte(this.m_Temp); } public char ToChar(IFormatProvider provider) { throw new InvalidCastException("Temperature to Char conversion is not supported."); } public DateTime ToDateTime(IFormatProvider provider) { throw new InvalidCastException("Temperature to DateTime conversion is not supported."); } public decimal ToDecimal(IFormatProvider provider) { return Convert.ToDecimal(this.m_Temp); } public double ToDouble(IFormatProvider provider) { return Convert.ToDouble(this.m_Temp); } public short ToInt16(IFormatProvider provider) { if (this.m_Temp < Int16.MinValue || this.m_Temp > Int16.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the Int16 type.", this.m_Temp)); else return Convert.ToInt16(this.m_Temp); } public int ToInt32(IFormatProvider provider) { if (this.m_Temp < Int32.MinValue || this.m_Temp > Int32.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the Int32 type.", this.m_Temp)); else return Convert.ToInt32(this.m_Temp); } public long ToInt64(IFormatProvider provider) { if (this.m_Temp < Int64.MinValue || this.m_Temp > Int64.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the Int64 type.", this.m_Temp)); else return Convert.ToInt64(this.m_Temp); } public sbyte ToSByte(IFormatProvider provider) { if (this.m_Temp < SByte.MinValue || this.m_Temp > SByte.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the SByte type.", this.m_Temp)); else return Convert.ToSByte(this.m_Temp); } public float ToSingle(IFormatProvider provider) { return this.m_Temp; } public string ToString(IFormatProvider provider) { return m_Temp.ToString("N2", provider) + " °C"; } public object ToType(Type conversionType, IFormatProvider provider) { switch (Type.GetTypeCode(conversionType)) { case TypeCode.Boolean: return this.ToBoolean(null); case TypeCode.Byte: return this.ToByte(null); case TypeCode.Char: return this.ToChar(null); case TypeCode.DateTime: return this.ToDateTime(null); case TypeCode.Decimal: return this.ToDecimal(null); case TypeCode.Double: return this.ToDouble(null); case TypeCode.Int16: return this.ToInt16(null); case TypeCode.Int32: return this.ToInt32(null); case TypeCode.Int64: return this.ToInt64(null); case TypeCode.Object: if (typeof(Temperature).Equals(conversionType)) return this; else throw new InvalidCastException(String.Format("Conversion to a {0} is not supported.", conversionType.Name)); case TypeCode.SByte: return this.ToSByte(null); case TypeCode.Single: return this.ToSingle(null); case TypeCode.String: return this.ToString(provider); case TypeCode.UInt16: return this.ToUInt16(null); case TypeCode.UInt32: return this.ToUInt32(null); case TypeCode.UInt64: return this.ToUInt64(null); default: throw new InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name)); } } public ushort ToUInt16(IFormatProvider provider) { if (this.m_Temp < UInt16.MinValue || this.m_Temp > UInt16.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the UInt16 type.", this.m_Temp)); else return Convert.ToUInt16(this.m_Temp); } public uint ToUInt32(IFormatProvider provider) { if (this.m_Temp < UInt32.MinValue || this.m_Temp > UInt32.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the UInt32 type.", this.m_Temp)); else return Convert.ToUInt32(this.m_Temp); } public ulong ToUInt64(IFormatProvider provider) { if (this.m_Temp < UInt64.MinValue || this.m_Temp > UInt64.MaxValue) throw new OverflowException(String.Format("{0} is out of range of the UInt64 type.", this.m_Temp)); else return Convert.ToUInt64(this.m_Temp); }}
open Systemtype Temperature(temperature: float32) = member _.Celsius = temperature member _.Kelvin = temperature + 273.15f member _.Fahrenheit = MathF.Round(temperature * 9f / 5f + 32f, 2) override _.ToString() = $"{temperature:N2} °C" // IConvertible implementations. interface IConvertible with member _.GetTypeCode() = TypeCode.Object member _.ToBoolean(provider: IFormatProvider) = temperature <> 0f member _.ToByte(provider: IFormatProvider) = if temperature < float32 Byte.MinValue || temperature > float32 Byte.MaxValue then raise (OverflowException $"{temperature} is out of range of the Byte type.") else Convert.ToByte temperature member _.ToChar(provider: IFormatProvider) = raise (InvalidCastException "Temperature to Char conversion is not supported.") member _.ToDateTime(provider: IFormatProvider) = raise (InvalidCastException "Temperature to DateTime conversion is not supported.") member _.ToDecimal(provider: IFormatProvider) = Convert.ToDecimal temperature member _.ToDouble(provider: IFormatProvider) = Convert.ToDouble temperature member _.ToInt16(provider: IFormatProvider) = if temperature < float32 Int16.MinValue || temperature > float32 Int16.MaxValue then raise (OverflowException $"{temperature} is out of range of the Int16 type.") else Convert.ToInt16 temperature member _.ToInt32(provider: IFormatProvider) = if temperature < float32 Int32.MinValue || temperature > float32 Int32.MaxValue then raise (OverflowException $"{temperature} is out of range of the Int32 type.") else Convert.ToInt32 temperature member _.ToInt64(provider: IFormatProvider) = if float32 temperature < float32 Int64.MinValue || temperature > float32 Int64.MaxValue then raise (OverflowException $"{temperature} is out of range of the Int64 type.") else Convert.ToInt64 temperature member _.ToSByte(provider: IFormatProvider) = if temperature < float32 SByte.MinValue || temperature > float32 SByte.MaxValue then raise (OverflowException $"{temperature} is out of range of the SByte type.") else Convert.ToSByte temperature member _.ToSingle(provider: IFormatProvider) = temperature override _.ToString(provider: IFormatProvider) = temperature.ToString("N2", provider) + " °C" member this.ToType(conversionType: Type, provider: IFormatProvider) = let this = this :> IConvertible match Type.GetTypeCode conversionType with | TypeCode.Boolean -> this.ToBoolean null | TypeCode.Byte -> this.ToByte null | TypeCode.Char -> this.ToChar null | TypeCode.DateTime -> this.ToDateTime null | TypeCode.Decimal -> this.ToDecimal null | TypeCode.Double -> this.ToDouble null | TypeCode.Int16 -> this.ToInt16 null | TypeCode.Int32 -> this.ToInt32 null | TypeCode.Int64 -> this.ToInt64 null | TypeCode.Object -> if typeof<Temperature>.Equals conversionType then this else raise (InvalidCastException $"Conversion to a {conversionType.Name} is not supported.") | TypeCode.SByte -> this.ToSByte null | TypeCode.Single -> this.ToSingle null | TypeCode.String -> this.ToString provider | TypeCode.UInt16 -> this.ToUInt16 null | TypeCode.UInt32 -> this.ToUInt32 null | TypeCode.UInt64 -> this.ToUInt64 null | _ -> raise (InvalidCastException $"Conversion to {conversionType.Name} is not supported.") member _.ToUInt16(provider: IFormatProvider) = if temperature < float32 UInt16.MinValue || temperature > float32 UInt16.MaxValue then raise (OverflowException $"{temperature} is out of range of the UInt16 type.") else Convert.ToUInt16 temperature member _.ToUInt32(provider: IFormatProvider) = if temperature < float32 UInt32.MinValue || temperature > float32 UInt32.MaxValue then raise (OverflowException $"{temperature} is out of range of the UInt32 type.") else Convert.ToUInt32 temperature member _.ToUInt64(provider: IFormatProvider) = if temperature < float32 UInt64.MinValue || temperature > float32 UInt64.MaxValue then raise (OverflowException $"{temperature} is out of range of the UInt64 type.") else Convert.ToUInt64 temperature
Imports System.GlobalizationPublic Class Temperature : Implements IConvertible Private m_Temp As Single Public Sub New(temperature As Single) Me.m_Temp = temperature End Sub Public ReadOnly Property Celsius() As Single Get Return Me.m_Temp End Get End Property Public ReadOnly Property Kelvin() As Single Get Return Me.m_Temp + 273.15F End Get End Property Public ReadOnly Property Fahrenheit() As Single Get Return CSng(Math.Round(Me.m_Temp * 9 / 5 + 32, 2)) End Get End Property Public Overrides Function ToString() As String Return m_Temp.ToString("N2") & " °C" End Function ' IConvertible implementations. Public Function GetTypeCode() As TypeCode _ Implements IConvertible.GetTypeCode Return TypeCode.Object End Function Public Function ToBoolean(provider As IFormatProvider) As Boolean _ Implements IConvertible.ToBoolean If m_Temp = 0 Then Return False Else Return True End If End Function Public Function ToByte(provider As IFormatProvider) As Byte _ Implements IConvertible.ToByte If m_Temp < Byte.MinValue Or m_Temp > Byte.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the Byte type.", _ Me.m_Temp)) Else Return Convert.ToByte(Me.m_Temp) End If End Function Public Function ToChar(provider As IFormatProvider) As Char _ Implements IConvertible.ToChar Throw New InvalidCastException("Temperature to Char conversion is not supported.") End Function Public Function ToDateTime(provider As IFormatProvider) As Date _ Implements IConvertible.ToDateTime Throw New InvalidCastException("Temperature to DateTime conversion is not supported.") End Function Public Function ToDecimal(provider As IFormatProvider) As Decimal _ Implements IConvertible.ToDecimal Return Convert.ToDecimal(Me.m_Temp) End Function Public Function ToDouble(provider As IFormatProvider) As Double _ Implements IConvertible.ToDouble Return Convert.ToDouble(Me.m_Temp) End Function Public Function ToInt16(provider As IFormatProvider) As Int16 _ Implements IConvertible.ToInt16 If Me.m_Temp < Int16.MinValue Or Me.m_Temp > Int16.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the Int16 type.", _ Me.m_Temp)) Else Return Convert.ToInt16(Me.m_Temp) End If End Function Public Function ToInt32(provider As IFormatProvider) As Int32 _ Implements IConvertible.ToInt32 If Me.m_Temp < Int32.MinValue Or Me.m_Temp > Int32.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the Int32 type.", _ Me.m_Temp)) Else Return Convert.ToInt32(Me.m_Temp) End If End Function Public Function ToInt64(provider As IFormatProvider) As Int64 _ Implements IConvertible.ToInt64 If Me.m_Temp < Int64.MinValue Or Me.m_Temp > Int64.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the Int64 type.", _ Me.m_Temp)) Else Return Convert.ToInt64(Me.m_Temp) End If End Function Public Function ToSByte(provider As IFormatProvider) As SByte _ Implements IConvertible.ToSByte If Me.m_Temp < SByte.MinValue Or Me.m_Temp > SByte.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the SByte type.", _ Me.m_Temp)) Else Return Convert.ToSByte(Me.m_Temp) End If End Function Public Function ToSingle(provider As IFormatProvider) As Single _ Implements IConvertible.ToSingle Return Me.m_Temp End Function Public Overloads Function ToString(provider As IFormatProvider) As String _ Implements IConvertible.ToString Return m_Temp.ToString("N2", provider) & " °C" End Function Public Function ToType(conversionType As Type, provider As IFormatProvider) As Object _ Implements IConvertible.ToType Select Case Type.GetTypeCode(conversionType) Case TypeCode.Boolean Return Me.ToBoolean(Nothing) Case TypeCode.Byte Return Me.ToByte(Nothing) Case TypeCode.Char Return Me.ToChar(Nothing) Case TypeCode.DateTime Return Me.ToDateTime(Nothing) Case TypeCode.Decimal Return Me.ToDecimal(Nothing) Case TypeCode.Double Return Me.ToDouble(Nothing) Case TypeCode.Int16 Return Me.ToInt16(Nothing) Case TypeCode.Int32 Return Me.ToInt32(Nothing) Case TypeCode.Int64 Return Me.ToInt64(Nothing) Case TypeCode.Object If GetType(Temperature).Equals(conversionType) Then Return Me Else Throw New InvalidCastException(String.Format("Conversion to a {0} is not supported.", _ conversionType.Name)) End If Case TypeCode.SByte Return Me.ToSByte(Nothing) Case TypeCode.Single Return Me.ToSingle(Nothing) Case TypeCode.String Return Me.ToString(provider) Case TypeCode.UInt16 Return Me.ToUInt16(Nothing) Case TypeCode.UInt32 Return Me.ToUInt32(Nothing) Case TypeCode.UInt64 Return Me.ToUInt64(Nothing) Case Else Throw New InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name)) End Select End Function Public Function ToUInt16(provider As IFormatProvider) As UInt16 _ Implements IConvertible.ToUInt16 If Me.m_Temp < UInt16.MinValue Or Me.m_Temp > UInt16.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the UInt16 type.", _ Me.m_Temp)) Else Return Convert.ToUInt16(Me.m_Temp) End If End Function Public Function ToUInt32(provider As IFormatProvider) As UInt32 _ Implements IConvertible.ToUInt32 If Me.m_Temp < UInt32.MinValue Or Me.m_Temp > UInt32.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the UInt32 type.", _ Me.m_Temp)) Else Return Convert.ToUInt32(Me.m_Temp) End If End Function Public Function ToUInt64(provider As IFormatProvider) As UInt64 _ Implements IConvertible.ToUInt64 If Me.m_Temp < UInt64.MinValue Or Me.m_Temp > UInt64.MaxValue Then Throw New OverflowException(String.Format("{0} is out of range of the UInt64 type.", _ Me.m_Temp)) Else Return Convert.ToUInt64(Me.m_temp) End If End FunctionEnd Class

The following example illustrates how a call to the Convert.ToSingle(Object, IFormatProvider) method, in turn, calls the IConvertible.ToSingle implementation of the Temperature class.

public class Example{ public static void Main() { Temperature cold = new Temperature(-40); Temperature freezing = new Temperature(0); Temperature boiling = new Temperature(100); Console.WriteLine(Convert.ToInt32(cold, null)); Console.WriteLine(Convert.ToInt32(freezing, null)); Console.WriteLine(Convert.ToDouble(boiling, null)); }}// The example dosplays the following output:// -40// 0// 100
let cold = Temperature -40flet freezing = Temperature 0flet boiling = Temperature 100fprintfn $"{Convert.ToInt32(cold, null)}"printfn $"{Convert.ToInt32(freezing, null)}"printfn $"{Convert.ToDouble(boiling, null)}"// The example dosplays the following output:// -40// 0// 100
Module Example Public Sub Main() Dim cold As New Temperature(-40) Dim freezing As New Temperature(0) Dim boiling As New Temperature(100) Console.WriteLine(Convert.ToInt32(cold, Nothing)) Console.WriteLine(Convert.ToInt32(freezing, Nothing)) Console.WriteLine(Convert.ToDouble(boiling, Nothing)) End SubEnd Module' The example displays the following output:' -40' 0' 100

Remarks

The return value is the result of invoking the IConvertible.ToSingle method of the underlying type of value.

provider enables the user to specify culture-specific conversion information about the contents of value. For example, if value is a String that represents a number, provider could supply culture-specific information about the notation used to represent that number.

The base types ignore provider; however, the parameter may be used if value is a user-defined type that implements the IConvertible interface.

Applies to

ToSingle(UInt64)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

This API is not CLS-compliant.

Converts the value of the specified 64-bit unsigned integer to an equivalent single-precision floating-point number.

public: static float ToSingle(System::UInt64 value);
[System.CLSCompliant(false)]public static float ToSingle (ulong value);
[<System.CLSCompliant(false)>]static member ToSingle : uint64 -> single
Public Shared Function ToSingle (value As ULong) As Single

Parameters

value
UInt64

The 64-bit unsigned integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Attributes

CLSCompliantAttribute

Examples

The following example converts each element in an array of unsigned long integers to a Single value.

ulong[] numbers = { UInt64.MinValue, 121, 12345, UInt64.MaxValue };float result;foreach (ulong number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the UInt64 value '0' to the Single value 0.// Converted the UInt64 value '121' to the Single value 121.// Converted the UInt64 value '12345' to the Single value 12345.// Converted the UInt64 value '18446744073709551615' to the Single value 1.844674E+19.
let numbers = [| UInt64.MinValue; 121uL; 12345uL; UInt64.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the UInt64 value '0' to the Single value 0.// Converted the UInt64 value '121' to the Single value 121.// Converted the UInt64 value '12345' to the Single value 12345.// Converted the UInt64 value '18446744073709551615' to the Single value 1.844674E+19.
Dim numbers() As ULong = { UInt64.MinValue, 121, 12345, UInt64.MaxValue }Dim result As SingleFor Each number As ULong In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the UInt64 value '0' to the Single value 0.' Converted the UInt64 value '121' to the Single value 121.' Converted the UInt64 value '12345' to the Single value 12345.' Converted the UInt64 value '18446744073709551615' to the Single value 1.844674E+19.

Applies to

ToSingle(UInt32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

This API is not CLS-compliant.

Converts the value of the specified 32-bit unsigned integer to an equivalent single-precision floating-point number.

public: static float ToSingle(System::UInt32 value);
[System.CLSCompliant(false)]public static float ToSingle (uint value);
[<System.CLSCompliant(false)>]static member ToSingle : uint32 -> single
Public Shared Function ToSingle (value As UInteger) As Single

Parameters

value
UInt32

The 32-bit unsigned integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Attributes

CLSCompliantAttribute

Examples

The following example converts each element in an array of unsigned integers to a Single value.

uint[] numbers = { UInt32.MinValue, 121, 12345, UInt32.MaxValue };float result;foreach (uint number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the UInt32 value '0' to the Single value 0.// Converted the UInt32 value '121' to the Single value 121.// Converted the UInt32 value '12345' to the Single value 12345.// Converted the UInt32 value '4294967295' to the Single value 4.294967E+09.
let numbers = [| UInt32.MinValue; 121u; 12345u; UInt32.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the UInt32 value '0' to the Single value 0.// Converted the UInt32 value '121' to the Single value 121.// Converted the UInt32 value '12345' to the Single value 12345.// Converted the UInt32 value '4294967295' to the Single value 4.294967E+09.
 Dim numbers() As UInteger = { UInt32.MinValue, 121, 12345, UInt32.MaxValue } Dim result As Single For Each number As UInteger In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result) Next ' The example displays the following output:' Converted the UInt32 value '0' to the Single value 0.' Converted the UInt32 value '121' to the Single value 121.' Converted the UInt32 value '12345' to the Single value 12345.' Converted the UInt32 value '4294967295' to the Single value 4.294967E+09.

Applies to

ToSingle(String)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the specified string representation of a number to an equivalent single-precision floating-point number.

public: static float ToSingle(System::String ^ value);
public static float ToSingle (string value);
public static float ToSingle (string? value);
static member ToSingle : string -> single
Public Shared Function ToSingle (value As String) As Single

Parameters

value
String

A string that contains the number to convert.

Returns

Single

A single-precision floating-point number that is equivalent to the number in value, or 0 (zero) if value is null.

Exceptions

FormatException

value is not a number in a valid format.

OverflowException

value represents a number that is less than Single.MinValue or greater than Single.MaxValue.

Examples

The following example attempts to convert each element in an array of numeric strings to a Single value.

string[] values= { "-1,035.77219", "1AFF", "1e-35", "1.63f", "1,635,592,999,999,999,999,999,999", "-17.455", "190.34001", "1.29e325"};float result;foreach (string value in values){ try { result = Convert.ToSingle(value); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", value.GetType().Name, value, result.GetType().Name, result); } catch (FormatException) { Console.WriteLine("Unable to convert '{0}' to a Single.", value); } catch (OverflowException) { Console.WriteLine("'{0}' is outside the range of a Single.", value); }}// The example displays the following output:// Converted the String value '-1,035.77219' to the Single value -1035.772.// Unable to convert '1AFF' to a Single.// Converted the String value '1e-35' to the Single value 1E-35.// Unable to convert '1.63f' to a Single.// Converted the String value '1,635,592,999,999,999,999,999,999' to the Single value 1.635593E+24.// Converted the String value '-17.455' to the Single value -17.455.// Converted the String value '190.34001' to the Single value 190.34.// 1.29e325' is outside the range of a Single.
let values = [| "-1,035.77219"; "1AFF"; "1e-35"; "1.63f"; "1,635,592,999,999,999,999,999,999" "-17.455"; "190.34001"; "1.29e325" |]for value in values do try let result = Convert.ToSingle value printfn $"Converted the {value.GetType().Name} value {value} to the {result.GetType().Name} value {result}." with | :? FormatException -> printfn $"Unable to convert '{value}' to a Single." | :? OverflowException -> printfn $"'{value}' is outside the range of a Single."// The example displays the following output:// Converted the String value '-1,035.77219' to the Single value -1035.772.// Unable to convert '1AFF' to a Single.// Converted the String value '1e-35' to the Single value 1E-35.// Unable to convert '1.63f' to a Single.// Converted the String value '1,635,592,999,999,999,999,999,999' to the Single value 1.635593E+24.// Converted the String value '-17.455' to the Single value -17.455.// Converted the String value '190.34001' to the Single value 190.34.// 1.29e325' is outside the range of a Single.
Dim values() As String = { "-1,035.77219", "1AFF", "1e-35", "1.63f", "1,635,592,999,999,999,999,999,999", "-17.455", "190.34001", "1.29e325"}Dim result As SingleFor Each value As String In values Try result = Convert.ToSingle(value) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", value.GetType().Name, value, _ result.GetType().Name, result) Catch e As FormatException Console.WriteLine("Unable to convert '{0}' to a Single.", value) Catch e As OverflowException Console.WriteLine("'{0}' is outside the range of a Single.", value) End TryNext' The example displays the following output:' Converted the String value '-1,035.77219' to the Single value -1035.772.' Unable to convert '1AFF' to a Single.' Converted the String value '1e-35' to the Single value 1E-35.' Unable to convert '1.63f' to a Single.' Converted the String value '1,635,592,999,999,999,999,999,999' to the Single value 1.635593E+24.' Converted the String value '-17.455' to the Single value -17.455.' Converted the String value '190.34001' to the Single value 190.34.' '1.29e325' is outside the range of a Single.

Remarks

Using the ToSingle(String) method is equivalent to passing value to the Single.Parse(String) method. value is interpreted by using the formatting conventions of the current culture.

If you prefer not to handle an exception if the conversion fails, you can call the Single.TryParse method instead. It returns a Boolean value that indicates whether the conversion succeeded or failed.

Applies to

ToSingle(Single)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Returns the specified single-precision floating-point number; no actual conversion is performed.

public: static float ToSingle(float value);
public static float ToSingle (float value);
static member ToSingle : single -> single
Public Shared Function ToSingle (value As Single) As Single

Parameters

value
Single

The single-precision floating-point number to return.

Returns

Single

value is returned unchanged.

See also

  • Single

Applies to

ToSingle(Object)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified object to a single-precision floating-point number.

public: static float ToSingle(System::Object ^ value);
public static float ToSingle (object value);
public static float ToSingle (object? value);
static member ToSingle : obj -> single
Public Shared Function ToSingle (value As Object) As Single

Parameters

value
Object

An object that implements the IConvertible interface, or null.

Returns

Single

A single-precision floating-point number that is equivalent to value, or zero if value is null.

Exceptions

FormatException

value is not in an appropriate format.

InvalidCastException

value does not implement the IConvertible interface.

-or-

The conversion is not supported.

OverflowException

value represents a number that is less than Single.MinValue or greater than Single.MaxValue.

Examples

The following example attempts to convert each element in an object array to a Single value.

object[] values = { true, 'a', 123, 1.764e32, "9.78", "1e-02", 1.67e03, "A100", "1,033.67", DateTime.Now, Decimal.MaxValue };float result;foreach (object value in values){ try { result = Convert.ToSingle(value); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", value.GetType().Name, value, result.GetType().Name, result); } catch (FormatException) { Console.WriteLine("The {0} value {1} is not recognized as a valid Single value.", value.GetType().Name, value); } catch (OverflowException) { Console.WriteLine("The {0} value {1} is outside the range of the Single type.", value.GetType().Name, value); } catch (InvalidCastException) { Console.WriteLine("Conversion of the {0} value {1} to a Single is not supported.", value.GetType().Name, value); }}// The example displays the following output:// Converted the Boolean value 'True' to the Single value 1.// Conversion of the Char value a to a Single is not supported.// Converted the Int32 value '123' to the Single value 123.// Converted the Double value '1.764E+32' to the Single value 1.764E+32.// Converted the String value '9.78' to the Single value 9.78.// Converted the String value '1e-02' to the Single value 0.01.// Converted the Double value '1670' to the Single value 1670.// The String value A100 is not recognized as a valid Single value.// Converted the String value '1,033.67' to the Single value 1033.67.// Conversion of the DateTime value 11/7/2008 08:02:35 AM to a Single is not supported.// Converted the Decimal value '79228162514264337593543950335' to the Single value 7.922816E+28.
let values: obj[] = [| true; 'a'; 123; 1.764e32; "9.78"; "1e-02"; 1.67e03; "A100"; "1,033.67"; DateTime.Now; Decimal.MaxValue |]for value in values do try let result = Convert.ToSingle value printfn $"Converted the {value.GetType().Name} value {value} to the {result.GetType().Name} value {result}." with | :? FormatException -> printfn $"The {value.GetType().Name} value {value} is not recognized as a valid Single value." | :? OverflowException -> printfn $"The {value.GetType().Name} value {value} is outside the range of the Single type." | :? InvalidCastException -> printfn $"Conversion of the {value.GetType().Name} value {value} to a Single is not supported."// The example displays the following output:// Converted the Boolean value 'True' to the Single value 1.// Conversion of the Char value a to a Single is not supported.// Converted the Int32 value '123' to the Single value 123.// Converted the Double value '1.764E+32' to the Single value 1.764E+32.// Converted the String value '9.78' to the Single value 9.78.// Converted the String value '1e-02' to the Single value 0.01.// Converted the Double value '1670' to the Single value 1670.// The String value A100 is not recognized as a valid Single value.// Converted the String value '1,033.67' to the Single value 1033.67.// Conversion of the DateTime value 11/7/2008 08:02:35 AM to a Single is not supported.// Converted the Decimal value '79228162514264337593543950335' to the Single value 7.922816E+28.
Dim values() As Object = { True, "a"c, 123, 1.764e32, "9.78", "1e-02", _ 1.67e03, "A100", "1,033.67", Date.Now, _ Decimal.MaxValue }Dim result As SingleFor Each value As Object In values Try result = Convert.ToSingle(value) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ value.GetType().Name, value, _ result.GetType().Name, result) Catch e As FormatException Console.WriteLine("The {0} value {1} is not recognized as a valid Single value.", _ value.GetType().Name, value) Catch e As OverflowException Console.WriteLine("The {0} value {1} is outside the range of the Single type.", _ value.GetType().Name, value) Catch e As InvalidCastException Console.WriteLine("Conversion of the {0} value {1} to a Single is not supported.", _ value.GetType().Name, value) End TryNext' The example displays the following output:' Converted the Boolean value 'True' to the Single value 1.' Conversion of the Char value a to a Single is not supported.' Converted the Int32 value '123' to the Single value 123.' Converted the Double value '1.764E+32' to the Single value 1.764E+32.' Converted the String value '9.78' to the Single value 9.78.' Converted the String value '1e-02' to the Single value 0.01.' Converted the Double value '1670' to the Single value 1670.' The String value A100 is not recognized as a valid Single value.' Converted the String value '1,033.67' to the Single value 1033.67.' Conversion of the DateTime value 11/7/2008 07:56:24 AM to a Single is not supported.' Converted the Decimal value '79228162514264337593543950335' to the Single value 7.922816E+28.

Remarks

The return value is the result of invoking the IConvertible.ToSingle method of the underlying type of value.

Applies to

ToSingle(UInt16)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

This API is not CLS-compliant.

Converts the value of the specified 16-bit unsigned integer to the equivalent single-precision floating-point number.

public: static float ToSingle(System::UInt16 value);
[System.CLSCompliant(false)]public static float ToSingle (ushort value);
[<System.CLSCompliant(false)>]static member ToSingle : uint16 -> single
Public Shared Function ToSingle (value As UShort) As Single

Parameters

value
UInt16

The 16-bit unsigned integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Attributes

CLSCompliantAttribute

Examples

The following example converts each element in an array of unsigned 16-bit integers to a Single value.

ushort[] numbers = { UInt16.MinValue, 121, 12345, UInt16.MaxValue };float result;foreach (ushort number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the UInt16 value '0' to the Single value 0.// Converted the UInt16 value '121' to the Single value 121.// Converted the UInt16 value '12345' to the Single value 12345.// Converted the UInt16 value '65535' to the Single value 65535.
let numbers = [| UInt16.MinValue; 121us; 12345us; UInt16.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the UInt16 value '0' to the Single value 0.// Converted the UInt16 value '121' to the Single value 121.// Converted the UInt16 value '12345' to the Single value 12345.// Converted the UInt16 value '65535' to the Single value 65535.
Dim numbers() As UShort = { UInt16.MinValue, 121, 12345, UInt16.MaxValue }Dim result As SingleFor Each number As UShort In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the UInt16 value '0' to the Single value 0.' Converted the UInt16 value '121' to the Single value 121.' Converted the UInt16 value '12345' to the Single value 12345.' Converted the UInt16 value '65535' to the Single value 65535.

Applies to

ToSingle(Int32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified 32-bit signed integer to an equivalent single-precision floating-point number.

public: static float ToSingle(int value);
public static float ToSingle (int value);
static member ToSingle : int -> single
Public Shared Function ToSingle (value As Integer) As Single

Parameters

value
Int32

The 32-bit signed integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Examples

The following example converts each element in an integer array to a Single value.

int[] numbers = { Int32.MinValue, -1000, 0, 1000, Int32.MaxValue };float result;foreach (int number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the Int32 value '-2147483648' to the Single value -2.147484E+09.// Converted the Int32 value '-1000' to the Single value -1000.// Converted the Int32 value '0' to the Single value 0.// Converted the Int32 value '1000' to the Single value 1000.// Converted the Int32 value '2147483647' to the Single value 2.147484E+09.
let numbers = [| Int32.MinValue; -1000; 0; 1000; Int32.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the Int32 value '-2147483648' to the Single value -2.147484E+09.// Converted the Int32 value '-1000' to the Single value -1000.// Converted the Int32 value '0' to the Single value 0.// Converted the Int32 value '1000' to the Single value 1000.// Converted the Int32 value '2147483647' to the Single value 2.147484E+09.
Dim numbers() As Integer = { Int32.MinValue, -1000, 0, 1000, Int32.MaxValue }Dim result As SingleFor Each number As Integer In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the Int32 value '-2147483648' to the Single value -2.147484E+09.' Converted the Int32 value '-1000' to the Single value -1000.' Converted the Int32 value '0' to the Single value 0.' Converted the Int32 value '1000' to the Single value 1000.' Converted the Int32 value '2147483647' to the Single value 2.147484E+09.

Applies to

ToSingle(Int16)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified 16-bit signed integer to an equivalent single-precision floating-point number.

public: static float ToSingle(short value);
public static float ToSingle (short value);
static member ToSingle : int16 -> single
Public Shared Function ToSingle (value As Short) As Single

Parameters

value
Int16

The 16-bit signed integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Examples

The following example converts each element in an array of 16-bit integers to a Single value.

short[] numbers = { Int16.MinValue, -1032, 0, 192, Int16.MaxValue };float result;foreach (short number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the Int16 value '-32768' to the Single value -32768.// Converted the Int16 value '-1032' to the Single value -1032.// Converted the Int16 value '0' to the Single value 0.// Converted the Int16 value '192' to the Single value 192.// Converted the Int16 value '32767' to the Single value 32767.
let numbers = [| Int16.MinValue; -1032s; 0s; 192s; Int16.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the Int16 value '-32768' to the Single value -32768.// Converted the Int16 value '-1032' to the Single value -1032.// Converted the Int16 value '0' to the Single value 0.// Converted the Int16 value '192' to the Single value 192.// Converted the Int16 value '32767' to the Single value 32767.
Dim numbers() As Short = { Int16.MinValue, -1032, 0, 192, Int16.MaxValue }Dim result As SingleFor Each number As Short In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the Int16 value '-32768' to the Single value -32768.' Converted the Int16 value '-1032' to the Single value -1032.' Converted the Int16 value '0' to the Single value 0.' Converted the Int16 value '192' to the Single value 192.' Converted the Int16 value '32767' to the Single value 32767.

Applies to

ToSingle(Double)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified double-precision floating-point number to an equivalent single-precision floating-point number.

public: static float ToSingle(double value);
public static float ToSingle (double value);
static member ToSingle : double -> single
Public Shared Function ToSingle (value As Double) As Single

Parameters

value
Double

The double-precision floating-point number to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

value is rounded using rounding to nearest. For example, when rounded to two decimals, the value 2.345 becomes 2.34 and the value 2.355 becomes 2.36.

Examples

The following example converts each element in an array of Double values to a Single value.

double[] values = { Double.MinValue, -1.38e10, -1023.299, -12.98, 0, 9.113e-16, 103.919, 17834.191, Double.MaxValue };float result;foreach (double value in values){ result = Convert.ToSingle(value); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", value.GetType().Name, value, result.GetType().Name, result);}// The example displays the following output:// Converted the Double value '-1.79769313486232E+308' to the Single value -Infinity.// Converted the Double value '-13800000000' to the Single value -1.38E+10.// Converted the Double value '-1023.299' to the Single value -1023.299.// Converted the Double value '-12.98' to the Single value -12.98.// Converted the Double value '0' to the Single value 0.// Converted the Double value '9.113E-16' to the Single value 9.113E-16.// Converted the Double value '103.919' to the Single value 103.919.// Converted the Double value '17834.191' to the Single value 17834.19.// Converted the Double value '1.79769313486232E+308' to the Single value Infinity.
let values = [| Double.MinValue; -1.38e10; -1023.299; -12.98; 0; 9.113e-16; 103.919; 17834.191; Double.MaxValue |]for value in values do let result = Convert.ToSingle value printfn $"Converted the {value.GetType().Name} value {value} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the Double value '-1.79769313486232E+308' to the Single value -Infinity.// Converted the Double value '-13800000000' to the Single value -1.38E+10.// Converted the Double value '-1023.299' to the Single value -1023.299.// Converted the Double value '-12.98' to the Single value -12.98.// Converted the Double value '0' to the Single value 0.// Converted the Double value '9.113E-16' to the Single value 9.113E-16.// Converted the Double value '103.919' to the Single value 103.919.// Converted the Double value '17834.191' to the Single value 17834.19.// Converted the Double value '1.79769313486232E+308' to the Single value Infinity.
Dim values() As Double = { Double.MinValue, -1.38e10, -1023.299, -12.98, _ 0, 9.113e-16, 103.919, 17834.191, Double.MaxValue }Dim result As SingleFor Each value As Double In values result = Convert.ToSingle(value) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ value.GetType().Name, value, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the Double value '-1.79769313486232E+308' to the Single value -Infinity.' Converted the Double value '-13800000000' to the Single value -1.38E+10.' Converted the Double value '-1023.299' to the Single value -1023.299.' Converted the Double value '-12.98' to the Single value -12.98.' Converted the Double value '0' to the Single value 0.' Converted the Double value '9.113E-16' to the Single value 9.113E-16.' Converted the Double value '103.919' to the Single value 103.919.' Converted the Double value '17834.191' to the Single value 17834.19.' Converted the Double value '1.79769313486232E+308' to the Single value Infinity.

See also

  • Double
  • Round

Applies to

ToSingle(Decimal)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified decimal number to an equivalent single-precision floating-point number.

public: static float ToSingle(System::Decimal value);
public static float ToSingle (decimal value);
static member ToSingle : decimal -> single
Public Shared Function ToSingle (value As Decimal) As Single

Parameters

value
Decimal

The decimal number to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

value is rounded using rounding to nearest. For example, when rounded to two decimals, the value 2.345 becomes 2.34 and the value 2.355 becomes 2.36.

Examples

The following example converts each element in an array of Decimal values to a Single value.

decimal[] values = { Decimal.MinValue, -1034.23m, -12m, 0m, 147m, 199.55m, 9214.16m, Decimal.MaxValue };float result;foreach (var value in values){ result = Convert.ToSingle(value); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", value.GetType().Name, value, result.GetType().Name, result);}// The example displays the following output:// Converted the Decimal value '-79228162514264337593543950335' to the Single value -7.9228163E+28.// Converted the Decimal value '-1034.23' to the Single value -1034.23.// Converted the Decimal value '-12' to the Single value -12.// Converted the Decimal value '0' to the Single value 0.// Converted the Decimal value '147' to the Single value 147.// Converted the Decimal value '199.55' to the Single value 199.55.// Converted the Decimal value '9214.16' to the Single value 9214.16.// Converted the Decimal value '79228162514264337593543950335' to the Single value 7.9228163E+28.
let values = [| Decimal.MinValue; -1034.23m; -12m; 0m; 147m; 199.55m; 9214.16m; Decimal.MaxValue |]for value in values do let result = Convert.ToSingle value printfn $"Converted the {value.GetType().Name} value {value} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the Decimal value '-79228162514264337593543950335' to the Single value -7.9228163E+28.// Converted the Decimal value '-1034.23' to the Single value -1034.23.// Converted the Decimal value '-12' to the Single value -12.// Converted the Decimal value '0' to the Single value 0.// Converted the Decimal value '147' to the Single value 147.// Converted the Decimal value '199.55' to the Single value 199.55.// Converted the Decimal value '9214.16' to the Single value 9214.16.// Converted the Decimal value '79228162514264337593543950335' to the Single value 7.9228163E+28.
Dim values() As Decimal = { Decimal.MinValue, -1034.23d, -12d, 0d, 147d, _ 199.55d, 9214.16d, Decimal.MaxValue }Dim result As SingleFor Each value As Decimal In values result = Convert.ToSingle(value) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ value.GetType().Name, value, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the Decimal value '-79228162514264337593543950335' to the Single value -7.922816E+28.' Converted the Decimal value '-1034.23' to the Single value -1034.23.' Converted the Decimal value '-12' to the Single value -12.' Converted the Decimal value '0' to the Single value 0.' Converted the Decimal value '147' to the Single value 147.' Converted the Decimal value '199.55' to the Single value 199.55.' Converted the Decimal value '9214.16' to the Single value 9214.16.' Converted the Decimal value '79228162514264337593543950335' to the Single value 7.922816E+28.

See also

  • Round

Applies to

ToSingle(DateTime)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Calling this method always throws InvalidCastException.

public: static float ToSingle(DateTime value);
public static float ToSingle (DateTime value);
static member ToSingle : DateTime -> single
Public Shared Function ToSingle (value As DateTime) As Single

Parameters

value
DateTime

The date and time value to convert.

Returns

Single

This conversion is not supported. No value is returned.

Exceptions

InvalidCastException

This conversion is not supported.

Applies to

ToSingle(Char)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Calling this method always throws InvalidCastException.

public: static float ToSingle(char value);
public static float ToSingle (char value);
static member ToSingle : char -> single
Public Shared Function ToSingle (value As Char) As Single

Parameters

value
Char

The Unicode character to convert.

Returns

Single

This conversion is not supported. No value is returned.

Exceptions

InvalidCastException

This conversion is not supported.

See also

  • Char

Applies to

ToSingle(Byte)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified 8-bit unsigned integer to the equivalent single-precision floating-point number.

public: static float ToSingle(System::Byte value);
public static float ToSingle (byte value);
static member ToSingle : byte -> single
Public Shared Function ToSingle (value As Byte) As Single

Parameters

value
Byte

The 8-bit unsigned integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Examples

The following example converts each element in an array of byte values to a Single value.

byte[] numbers = { Byte.MinValue, 10, 100, Byte.MaxValue };float result;foreach (byte number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the Byte value 0 to the Single value 0.// Converted the Byte value 10 to the Single value 10.// Converted the Byte value 100 to the Single value 100.// Converted the Byte value 255 to the Single value 255.
let numbers = [| Byte.MinValue; 10uy; 100uy; Byte.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the Byte value 0 to the Single value 0.// Converted the Byte value 10 to the Single value 10.// Converted the Byte value 100 to the Single value 100.// Converted the Byte value 255 to the Single value 255.
Dim numbers() As Byte = { Byte.MinValue, 10, 100, Byte.MaxValue }Dim result As SingleFor Each number As Byte In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result)Next' The example displays the following output:' Converted the Byte value 0 to the Single value 0.' Converted the Byte value 10 to the Single value 10.' Converted the Byte value 100 to the Single value 100.' Converted the Byte value 255 to the Single value 255.

Applies to

ToSingle(Boolean)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the specified Boolean value to the equivalent single-precision floating-point number.

public: static float ToSingle(bool value);
public static float ToSingle (bool value);
static member ToSingle : bool -> single
Public Shared Function ToSingle (value As Boolean) As Single

Parameters

value
Boolean

The Boolean value to convert.

Returns

Single

The number 1 if value is true; otherwise, 0.

Examples

The following example converts the Boolean values true and false to Single values.

bool[] flags = { true, false };float result;foreach (bool flag in flags){ result = Convert.ToSingle(flag); Console.WriteLine("Converted {0} to {1}.", flag, result);}// The example displays the following output:// Converted True to 1.// Converted False to 0.
let flags = [| true; false |]for flag in flags do let result = Convert.ToSingle flag printfn $"Converted {flag} to {result}."// The example displays the following output:// Converted True to 1.// Converted False to 0.
Dim flags() As Boolean = { True, False }Dim result As SingleFor Each flag As Boolean In flags result = Convert.ToSingle(flag) Console.WriteLine("Converted {0} to {1}.", flag, result)Next' The example displays the following output:' Converted True to 1.' Converted False to 0.

Applies to

ToSingle(Int64)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Converts the value of the specified 64-bit signed integer to an equivalent single-precision floating-point number.

public: static float ToSingle(long value);
public static float ToSingle (long value);
static member ToSingle : int64 -> single
Public Shared Function ToSingle (value As Long) As Single

Parameters

value
Int64

The 64-bit signed integer to convert.

Returns

Single

A single-precision floating-point number that is equivalent to value.

Examples

The following example converts each element in an array of long integers to a Single value.

long[] numbers = { Int64.MinValue, -903, 0, 172, Int64.MaxValue};float result;foreach (long number in numbers){ result = Convert.ToSingle(number); Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", number.GetType().Name, number, result.GetType().Name, result);}// The example displays the following output:// Converted the Int64 value '-9223372036854775808' to the Single value -9.223372E+18.// Converted the Int64 value '-903' to the Single value -903.// Converted the Int64 value '0' to the Single value 0.// Converted the Int64 value '172' to the Single value 172.// Converted the Int64 value '9223372036854775807' to the Single value 9.223372E+18.
let numbers = [| Int64.MinValue; -903; 0; 172; Int64.MaxValue |]for number in numbers do let result = Convert.ToSingle number printfn $"Converted the {number.GetType().Name} value {number} to the {result.GetType().Name} value {result}."// The example displays the following output:// Converted the Int64 value '-9223372036854775808' to the Single value -9.223372E+18.// Converted the Int64 value '-903' to the Single value -903.// Converted the Int64 value '0' to the Single value 0.// Converted the Int64 value '172' to the Single value 172.// Converted the Int64 value '9223372036854775807' to the Single value 9.223372E+18.
 Dim numbers() As Long = { Int64.MinValue, -903, 0, 172, Int64.MaxValue} Dim result As Single For Each number As Long In numbers result = Convert.ToSingle(number) Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.", _ number.GetType().Name, number, _ result.GetType().Name, result) Next ' The example displays the following output:Converted the Int64 value '-9223372036854775808' to the Single value -9.223372E+18.Converted the Int64 value '-903' to the Single value -903.Converted the Int64 value '0' to the Single value 0.Converted the Int64 value '172' to the Single value 172.Converted the Int64 value '9223372036854775807' to the Single value 9.223372E+18. ' Converted the Int64 value '-9223372036854775808' to the Single value -9.223372E+18. ' Converted the Int64 value '-903' to the Single value -903. ' Converted the Int64 value '0' to the Single value 0. ' Converted the Int64 value '172' to the Single value 172. ' Converted the Int64 value '9223372036854775807' to the Single value 9.223372E+18.

Applies to

Feedback

Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback.

Submit and view feedback for

Convert.ToSingle Method (System) (2024)

FAQs

How to convert to single in C#? ›

ToSingle(String, IFormatProvider) Method. This method is used to converts the specified string representation of a number to an equivalent single-precision floating-point number, using the specified culture-specific formatting information.

What is ToSingle? ›

ToSingle(String) Converts the specified string representation of a number to an equivalent single-precision floating-point number. ToSingle(Single) Returns the specified single-precision floating-point number; no actual conversion is performed.

How to convert double to float in C#? ›

This can be done using casting in C#. Here's an example: double myDouble = 0.1; float myFloat = (float)myDouble; In the code above, (float) before myDouble is casting myDouble as a float .

How to change int to float in C#? ›

Here are the implementation of int to float in C language:
  1. C. #include <stdio.h> int main() { int intValue = 10; float floatValue = (float)intValue; // Using type casting printf("Integer value: %d\n", intValue); printf("Float value: %f\n", floatValue); return 0; }
  2. C++ ...
  3. Java. ...
  4. Python. ...
  5. C# ...
  6. JavaScript.
Mar 26, 2024

How to convert data from one type to another in C#? ›

C# Type Conversion using Parse()

In C#, we can also use the Parse() method to perform type conversion. Generally, while performing type conversion between non-compatible types like int and string , we use Parse() .

What is system single in C#? ›

System. Single provides methods to compare instances of this type, to convert the value of an instance to its string representation, and to convert the string representation of a number to an instance of this type.

What is the difference between float and double? ›

Difference between double and float Java types

The key difference between a float and double in Java is that a double can represent much larger numbers than a float. Both data types represent numbers with decimals, but a float is 32 bits in size while a double is 64 bits.

What is conversion in C#? ›

10.1 General. A conversion causes an expression to be converted to, or treated as being of, a particular type; in the former case a conversion may involve a change in representation. Conversions can be implicit or explicit, and this determines whether an explicit cast is required.

What is explicit and implicit in C#? ›

Implicit conversions: No special syntax is required because the conversion always succeeds and no data is lost. Examples include conversions from smaller to larger integral types, and conversions from derived classes to base classes. Explicit conversions (casts): Explicit conversions require a cast expression.

Can we convert float to int in C#? ›

You can convert a float to an integer in C# by using a type cast or methods like Convert. ToInt32 or Math. Round .

Why is typecasting necessary in C? ›

Type casting helps a programmer convert any given data type to any other data type in a program. It makes any given program very lightweight. Using type casting, one can take advantage of several features, such as arithmetic conversion hierarchy and type representations.

What is an example of data conversion? ›

A typical example of data conversion is the way in which many of us consume entertainment. In order to play a music or video file on a mobile device, the file needs to be converted from its source format (such as an MKV file) to one that can be read by the device (such as an MP4 file).

How to represent float in C#? ›

To declare a “float” variable in C#, you can use the “float” keyword followed by the variable name. Here's an example: float myFloat = 3.14f; Note that you need to append the “f” suffix to the float value to indicate that it is a float and not a double.

How to get a single character in C#? ›

Methods to read/input single character in C#
  1. Using Console. ReadLine()[0]
  2. Using Console. ReadKey(). KeyChar.
  3. Using Char. TryParse()
  4. Using Convert. ToChar()
Apr 6, 2023

How to convert string to single byte in C#? ›

Let's take a simple example:
  1. string greeting = "Hello, World!";
  2. byte[] byteArray = new byte[5]{1, 2, 3, 4, 5};
  3. // Our string to be converted string sample = "Hello C#"; // Use Encoding. ...
  4. // Our byte array to be converted byte[] byteArray = new byte[]{72, 101, 108, 108, 111, 32, 67, 35}; // Use Encoding.
Dec 25, 2023

How to add single in C#? ›

We can do this by using a backslash followed by a single quote to tell C# that we want to add a single quote into our string. Let's see an example: string myString = "Hey, that\'s my car!"; Console.

How to use single in C#? ›

C# Single() Method

Get only a single element of a sequence using the Single() method. Let's say we have a string array with only one element. string[] str = { "one" }; Now, get the element.

Top Articles
Latest Posts
Article information

Author: Eusebia Nader

Last Updated:

Views: 5385

Rating: 5 / 5 (80 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Eusebia Nader

Birthday: 1994-11-11

Address: Apt. 721 977 Ebert Meadows, Jereville, GA 73618-6603

Phone: +2316203969400

Job: International Farming Consultant

Hobby: Reading, Photography, Shooting, Singing, Magic, Kayaking, Mushroom hunting

Introduction: My name is Eusebia Nader, I am a encouraging, brainy, lively, nice, famous, healthy, clever person who loves writing and wants to share my knowledge and understanding with you.