指定したカルチャに固有の書式情報を使用して、指定した String 形式の数値を等価の単精度浮動小数点数に変換します。
Overloads Public Shared Function ToSingle( _
ByVal value As String, _ ByVal provider As IFormatProvider _) As Single
[C#]
public static float ToSingle(stringvalue,IFormatProviderprovider);
[C++]
public: static float ToSingle(String* value,IFormatProvider* provider);
[JScript]
public static function ToSingle(
value : String,provider : IFormatProvider) : float;
パラメータ
- value
変換する数値を格納している String 。 - provider
カルチャに固有の書式情報を提供する IFormatProvider インターフェイス実装。
戻り値
value の値と等価な単精度浮動小数点数。
または
value が null 参照 (Visual Basic では Nothing) の場合は 0。
例外
例外の種類 | 条件 |
---|---|
FormatException | value の構成が、省略可能な符号と、それに続く 0 から 9 までの一連の数字ではありません。 |
OverflowException | value が MinValue 未満の数値か、 MaxValue より大きい数値を表しています。 |
解説
戻り値は、value に対して Single.Parse メソッドを呼び出した結果得られる値です。
provider は、 NumberFormatInfo オブジェクトを取得する IFormatProvider インスタンスです。 NumberFormatInfo オブジェクトは、value の書式に関するカルチャに固有の情報を提供します。 provider が null 参照 (Visual Basic では Nothing) の場合は、現在のカルチャの NumberFormatInfo が使用されます。
使用例
[Visual Basic, C#, C++] IFormatProvider オブジェクトを使用し、 String 形式の Single の値を ToSingle メソッドで変換するコード例を次に示します。
' Example of the Convert.ToSingle( String ) and
' Convert.ToSingle( String, IFormatProvider ) methods.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic
Module ToSingleProviderDemo
Dim formatter As String = "{0,-22}{1,-20}{2}"
' Get the exception type name; remove the namespace prefix.
Function GetExceptionType( ex As Exception ) As String
Dim exceptionType As String = ex.GetType( ).ToString( )
GetExceptionType = exceptionType.Substring( _
exceptionType.LastIndexOf( "."c ) + 1 )
End Function
Sub ConvertToSingle( numericStr As String, _
provider As IFormatProvider )
Dim defaultValue As Object
Dim providerValue As Object
' Convert numericStr to Single without a format provider.
Try
defaultValue = Convert.ToSingle( numericStr )
Catch ex As Exception
defaultValue = GetExceptionType( ex )
End Try
' Convert numericStr to Single with a format provider.
Try
providerValue = Convert.ToSingle( numericStr, provider )
Catch ex As Exception
providerValue = GetExceptionType( ex )
End Try
Console.WriteLine( formatter, numericStr, _
defaultValue, providerValue )
End Sub
Sub Main( )
' Create a NumberFormatInfo object and set several of its
' properties that apply to numbers.
Dim provider As NumberFormatInfo = new NumberFormatInfo( )
provider.NumberDecimalSeparator = ","
provider.NumberGroupSeparator = "."
provider.NumberGroupSizes = New Integer( ) { 3 }
Console.WriteLine( "This example of" & vbCrLf & _
" Convert.ToSingle( String ) and " & vbCrLf & _
" Convert.ToSingle( String, IFormatProvider ) " & _
vbCrLf & "generates the " & _
"following output when run in the [{0}] culture.", _
CultureInfo.CurrentCulture.Name )
Console.WriteLine( vbCrLf & _
"Several strings are converted to Single values, " & _
"using " & vbCrLf & "default formatting " & _
"and a NumberFormatInfo object." & vbCrLf )
Console.WriteLine( formatter, "String to convert", _
"Default/exception", "Provider/exception" )
Console.WriteLine( formatter, "-----------------", _
"-----------------", "------------------" )
' Convert strings, with and without an IFormatProvider.
ConvertToSingle( "1234567", provider )
ConvertToSingle( "1234.567", provider )
ConvertToSingle( "1234,567", provider )
ConvertToSingle( "12,345.67", provider )
ConvertToSingle( "12.345,67", provider )
ConvertToSingle( "1,234,567.89", provider )
ConvertToSingle( "1.234.567,89", provider )
End Sub
End Module
' This example of
' Convert.ToSingle( String ) and
' Convert.ToSingle( String, IFormatProvider )
' generates the following output when run in the [en-US] culture.
'
' Several strings are converted to Single values, using
' default formatting and a NumberFormatInfo object.
'
' String to convert Default/exception Provider/exception
' ----------------- ----------------- ------------------
' 1234567 1234567 1234567
' 1234.567 1234.567 1234567
' 1234,567 1234567 1234.567
' 12,345.67 12345.67 FormatException
' 12.345,67 FormatException 12345.67
' 1,234,567.89 1234568 FormatException
' 1.234.567,89 FormatException 1234568
[C#]
// Example of the Convert.ToSingle( String ) and
// Convert.ToSingle( String, IFormatProvider ) methods.
using System;
using System.Globalization;
class ToSingleProviderDemo
{
static string formatter = "{0,-22}{1,-20}{2}";
// Get the exception type name; remove the namespace prefix.
static string GetExceptionType( Exception ex )
{
string exceptionType = ex.GetType( ).ToString( );
return exceptionType.Substring(
exceptionType.LastIndexOf( '.' ) + 1 );
}
static void ConvertToSingle( string numericStr,
IFormatProvider provider )
{
object defaultValue;
object providerValue;
// Convert numericStr to float without a format provider.
try
{
defaultValue = Convert.ToSingle( numericStr );
}
catch( Exception ex )
{
defaultValue = GetExceptionType( ex );
}
// Convert numericStr to float with a format provider.
try
{
providerValue = Convert.ToSingle( numericStr, provider );
}
catch( Exception ex )
{
providerValue = GetExceptionType( ex );
}
Console.WriteLine( formatter, numericStr, defaultValue,
providerValue );
}
static void Main( )
{
// Create a NumberFormatInfo object and set several of its
// properties that apply to numbers.
NumberFormatInfo provider = new NumberFormatInfo( );
provider.NumberDecimalSeparator = ",";
provider.NumberGroupSeparator = ".";
provider.NumberGroupSizes = new int[ ] { 3 };
Console.WriteLine(
"This example of\n Convert.ToSingle( String ) and \n" +
" Convert.ToSingle( String, IFormatProvider ) \n" +
"generates the following output when run in the " +
"[{0}] culture.",
CultureInfo.CurrentCulture.Name );
Console.WriteLine( "\nSeveral " +
"strings are converted to float values, using \n" +
"default formatting and a NumberFormatInfo object.\n");
Console.WriteLine( formatter, "String to convert",
"Default/exception", "Provider/exception" );
Console.WriteLine( formatter, "-----------------",
"-----------------", "------------------" );
// Convert strings, with and without an IFormatProvider.
ConvertToSingle( "1234567", provider );
ConvertToSingle( "1234.567", provider );
ConvertToSingle( "1234,567", provider );
ConvertToSingle( "12,345.67", provider );
ConvertToSingle( "12.345,67", provider );
ConvertToSingle( "1,234,567.89", provider );
ConvertToSingle( "1.234.567,89", provider );
}
}
/*
This example of
Convert.ToSingle( String ) and
Convert.ToSingle( String, IFormatProvider )
generates the following output when run in the [en-US] culture.
Several strings are converted to float values, using
default formatting and a NumberFormatInfo object.
String to convert Default/exception Provider/exception
----------------- ----------------- ------------------
1234567 1234567 1234567
1234.567 1234.567 1234567
1234,567 1234567 1234.567
12,345.67 12345.67 FormatException
12.345,67 FormatException 12345.67
1,234,567.89 1234568 FormatException
1.234.567,89 FormatException 1234568
*/
[C++]
// Example of the Convert::ToSingle( String ) and
// Convert::ToSingle( String, IFormatProvider ) methods.
#using <mscorlib.dll>
using namespace System;
using namespace System::Globalization;
const __wchar_t* formatter = L"{0,-22}{1,-20}{2}";
// Get the exception type name; remove the namespace prefix.
String* GetExceptionType( Exception* ex )
{
String* exceptionType = ex->GetType( )->ToString( );
return exceptionType->Substring(
exceptionType->LastIndexOf( '.' ) + 1 );
}
void ConvertToSingle( String* numericStr,
IFormatProvider* provider )
{
Object* defaultValue;
Object* providerValue;
// Convert numericStr to float without a format provider.
try
{
defaultValue = __box( Convert::ToSingle( numericStr ) );
}
catch( Exception* ex )
{
defaultValue = GetExceptionType( ex );
}
// Convert numericStr to float with a format provider.
try
{
providerValue = __box(
Convert::ToSingle( numericStr, provider ) );
}
catch( Exception* ex )
{
providerValue = GetExceptionType( ex );
}
Console::WriteLine( new String( formatter ), numericStr,
defaultValue, providerValue );
}
void main( )
{
// Create a NumberFormatInfo object and set several of its
// properties that apply to numbers.
NumberFormatInfo* provider = new NumberFormatInfo( );
provider->NumberDecimalSeparator = S",";
provider->NumberGroupSeparator = S".";
Int32 sizes __gc [] = { 3 };
provider->NumberGroupSizes = sizes;
Console::WriteLine(
S"This example of\n Convert::ToSingle( String* ) and \n"
S" Convert::ToSingle( String*, IFormatProvider* ) \n"
S"generates the following output when run in the "
S"[{0}] culture.",
CultureInfo::CurrentCulture->Name );
Console::WriteLine( S"\nSeveral "
S"strings are converted to float values, using \n"
S"default formatting and a NumberFormatInfo object.\n");
Console::WriteLine( new String( formatter ), S"String to convert",
S"Default/exception", S"Provider/exception" );
Console::WriteLine( new String( formatter ), S"-----------------",
S"-----------------", S"------------------" );
// Convert strings, with and without an IFormatProvider.
ConvertToSingle( S"1234567", provider );
ConvertToSingle( S"1234.567", provider );
ConvertToSingle( S"1234,567", provider );
ConvertToSingle( S"12,345.67", provider );
ConvertToSingle( S"12.345,67", provider );
ConvertToSingle( S"1,234,567.89", provider );
ConvertToSingle( S"1.234.567,89", provider );
}
/*
This example of
Convert::ToSingle( String* ) and
Convert::ToSingle( String*, IFormatProvider* )
generates the following output when run in the [en-US] culture.
Several strings are converted to float values, using
default formatting and a NumberFormatInfo object.
String to convert Default/exception Provider/exception
----------------- ----------------- ------------------
1234567 1234567 1234567
1234.567 1234.567 1234567
1234,567 1234567 1234.567
12,345.67 12345.67 FormatException
12.345,67 FormatException 12345.67
1,234,567.89 1234568 FormatException
1.234.567,89 FormatException 1234568
*/
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
Convert クラス | Convert メンバ | System 名前空間 | Convert.ToSingle オーバーロードの一覧