' Example of the Convert.ToInt32( String ) and
' Convert.ToInt32( String, IFormatProvider ) methods.
Imports System
Imports System.Globalization
Imports Microsoft.VisualBasic
Module ToInt32ProviderDemo
Dim format As String = "{0,-20}{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( )
Return exceptionType.Substring( _
exceptionType.LastIndexOf( "."c ) + 1 )
End Function
Sub ConvertToInt32( numericStr As String, _
provider As IFormatProvider )
Dim defaultValue As Object
Dim providerValue As Object
' Convert numericStr to Int32 without a format provider.
Try
defaultValue = Convert.ToInt32( numericStr )
Catch ex As Exception
defaultValue = GetExceptionType( ex )
End Try
' Convert numericStr to Int32 with a format provider.
Try
providerValue = Convert.ToInt32( numericStr, provider )
Catch ex As Exception
providerValue = GetExceptionType( ex )
End Try
Console.WriteLine( format, 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( )
' These properties affect the conversion.
provider.NegativeSign = "neg "
provider.PositiveSign = "pos "
' These properties do not affect the conversion.
' The input string cannot have decimal and group separators.
provider.NumberDecimalSeparator = "."
provider.NumberGroupSeparator = ","
provider.NumberGroupSizes = New Integer( ) { 3 }
provider.NumberNegativePattern = 0
Console.WriteLine( "This example of" & vbCrLf & _
" Convert.ToInt32( String ) and " & vbCrLf & _
" Convert.ToInt32( String, IFormatProvider ) " & _
vbCrLf & "generates the following output. It " & _
"converts several strings to " & vbCrLf & "Integer " & _
"values, using default formatting " & _
"or a NumberFormatInfo object." & vbCrLf )
Console.WriteLine( format, "String to convert", _
"Default/exception", "Provider/exception" )
Console.WriteLine( format, "-----------------", _
"-----------------", "------------------" )
' Convert strings, with and without an IFormatProvider.
ConvertToInt32( "123456789", provider )
ConvertToInt32( "+123456789", provider )
ConvertToInt32( "pos 123456789", provider )
ConvertToInt32( "-123456789", provider )
ConvertToInt32( "neg 123456789", provider )
ConvertToInt32( "123456789.", provider )
ConvertToInt32( "123,456,789", provider )
ConvertToInt32( "(123456789)", provider )
ConvertToInt32( "2147483648", provider )
ConvertToInt32( "-2147483649", provider )
End Sub
End Module
' This example of
' Convert.ToInt32( String ) and
' Convert.ToInt32( String, IFormatProvider )
' generates the following output. It converts several strings to
' Integer values, using default formatting or a NumberFormatInfo object.
'
' String to convert Default/exception Provider/exception
' ----------------- ----------------- ------------------
' 123456789 123456789 123456789
' +123456789 123456789 FormatException
' pos 123456789 FormatException 123456789
' -123456789 -123456789 FormatException
' neg 123456789 FormatException -123456789
' 123456789. FormatException FormatException
' 123,456,789 FormatException FormatException
' (123456789) FormatException FormatException
' 2147483648 OverflowException OverflowException
' -2147483649 OverflowException FormatException
// Example of the Convert.ToInt32( string ) and
// Convert.ToInt32( string, IFormatProvider ) methods.
using System;
using System.Globalization;
class ToInt32ProviderDemo
{
static string format = "{0,-20}{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 ConvertToInt32( string numericStr,
IFormatProvider provider )
{
object defaultValue;
object providerValue;
// Convert numericStr to Int32 without a format provider.
try
{
defaultValue = Convert.ToInt32( numericStr );
}
catch( Exception ex )
{
defaultValue = GetExceptionType( ex );
}
// Convert numericStr to Int32 with a format provider.
try
{
providerValue = Convert.ToInt32( numericStr, provider );
}
catch( Exception ex )
{
providerValue = GetExceptionType( ex );
}
Console.WriteLine( format, numericStr,
defaultValue, providerValue );
}
public static void Main( )
{
// Create a NumberFormatInfo object and set several of its
// properties that apply to numbers.
NumberFormatInfo provider = new NumberFormatInfo();
// These properties affect the conversion.
provider.NegativeSign = "neg ";
provider.PositiveSign = "pos ";
// These properties do not affect the conversion.
// The input string cannot have decimal and group separators.
provider.NumberDecimalSeparator = ".";
provider.NumberGroupSeparator = ",";
provider.NumberGroupSizes = new int[ ] { 3 };
provider.NumberNegativePattern = 0;
Console.WriteLine("This example of\n" +
" Convert.ToInt32( string ) and \n" +
" Convert.ToInt32( string, IFormatProvider ) " +
"\ngenerates the following output. It converts " +
"several strings to \nint values, using " +
"default formatting or a NumberFormatInfo object.\n" );
Console.WriteLine( format, "String to convert",
"Default/exception", "Provider/exception" );
Console.WriteLine( format, "-----------------",
"-----------------", "------------------" );
// Convert strings, with and without an IFormatProvider.
ConvertToInt32( "123456789", provider );
ConvertToInt32( "+123456789", provider );
ConvertToInt32( "pos 123456789", provider );
ConvertToInt32( "-123456789", provider );
ConvertToInt32( "neg 123456789", provider );
ConvertToInt32( "123456789.", provider );
ConvertToInt32( "123,456,789", provider );
ConvertToInt32( "(123456789)", provider );
ConvertToInt32( "2147483648", provider );
ConvertToInt32( "-2147483649", provider );
}
}
/*
This example of
Convert.ToInt32( string ) and
Convert.ToInt32( string, IFormatProvider )
generates the following output. It converts several strings to
int values, using default formatting or a NumberFormatInfo object.
String to convert Default/exception Provider/exception
----------------- ----------------- ------------------
123456789 123456789 123456789
+123456789 123456789 FormatException
pos 123456789 FormatException 123456789
-123456789 -123456789 FormatException
neg 123456789 FormatException -123456789
123456789. FormatException FormatException
123,456,789 FormatException FormatException
(123456789) FormatException FormatException
2147483648 OverflowException OverflowException
-2147483649 OverflowException FormatException
*/
// Example of the Convert::ToInt32( String* ) and
// Convert::ToInt32( String*, IFormatProvider* ) methods.
using namespace System;
using namespace System::Globalization;
const __wchar_t * protoFmt = L"{0,-20}{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 ConvertToInt32( String^ numericStr, IFormatProvider^ provider )
{
Object^ defaultValue;
Object^ providerValue;
// Convert numericStr to Int32 without a format provider.
try
{
defaultValue = Convert::ToInt32( numericStr );
}
catch ( Exception^ ex )
{
defaultValue = GetExceptionType( ex );
}
// Convert numericStr to Int32 with a format provider.
try
{
providerValue = Convert::ToInt32( numericStr, provider );
}
catch ( Exception^ ex )
{
providerValue = GetExceptionType( ex );
}
Console::WriteLine( gcnew String( protoFmt ), numericStr, defaultValue, providerValue );
}
int main()
{
// Create a NumberFormatInfo object and set several of its
// properties that apply to numbers.
NumberFormatInfo^ provider = gcnew NumberFormatInfo;
// These properties affect the conversion.
provider->NegativeSign = "neg ";
provider->PositiveSign = "pos ";
// These properties do not affect the conversion.
// The input string cannot have decimal and group separators.
provider->NumberDecimalSeparator = ".";
provider->NumberGroupSeparator = ",";
array<Int32>^sizes = {3};
provider->NumberGroupSizes = sizes;
provider->NumberNegativePattern = 0;
Console::WriteLine( "This example of\n"
" Convert::ToInt32( String* ) and \n"
" Convert::ToInt32( String*, IFormatProvider* ) "
"\ngenerates the following output. It converts "
"several strings to \nint values, using "
"default formatting or a NumberFormatInfo object.\n" );
Console::WriteLine( gcnew String( protoFmt ), "String to convert", "Default/exception", "Provider/exception" );
Console::WriteLine( gcnew String( protoFmt ), "-----------------", "-----------------", "------------------" );
// Convert strings, with and without an IFormatProvider.
ConvertToInt32( "123456789", provider );
ConvertToInt32( "+123456789", provider );
ConvertToInt32( "pos 123456789", provider );
ConvertToInt32( "-123456789", provider );
ConvertToInt32( "neg 123456789", provider );
ConvertToInt32( "123456789.", provider );
ConvertToInt32( "123,456,789", provider );
ConvertToInt32( "(123456789)", provider );
ConvertToInt32( "2147483648", provider );
ConvertToInt32( "-2147483649", provider );
}
/*
This example of
Convert::ToInt32( String* ) and
Convert::ToInt32( String*, IFormatProvider* )
generates the following output. It converts several strings to
int values, using default formatting or a NumberFormatInfo object.
String to convert Default/exception Provider/exception
----------------- ----------------- ------------------
123456789 123456789 123456789
+123456789 123456789 FormatException
pos 123456789 FormatException 123456789
-123456789 -123456789 FormatException
neg 123456789 FormatException -123456789
123456789. FormatException FormatException
123,456,789 FormatException FormatException
(123456789) FormatException FormatException
2147483648 OverflowException OverflowException
-2147483649 OverflowException FormatException
*/
// Example of the Convert.ToInt32( string ) and
// Convert.ToInt32( string, IFormatProvider ) methods.
import System.* ;
import System.Globalization.* ;
class ToInt32ProviderDemo
{
private static String format = "{0,-20}{1,-20}{2}";
// Get the exception type name; remove the namespace prefix.
static String GetExceptionType(System.Exception ex)
{
String exceptionType = ex.GetType().ToString();
return exceptionType.Substring((exceptionType.LastIndexOf('.') + 1)) ;
} //GetExceptionType
static void ConvertToInt32(String numericStr, IFormatProvider provider)
{
Object defaultValue;
Object providerValue;
// Convert numericStr to Int32 without a format provider.
try {
defaultValue = System.Convert.ToString(Convert.ToInt32(numericStr));
}
catch(System.Exception ex) {
defaultValue = GetExceptionType(ex);
}
// Convert numericStr to Int32 with a format provider.
try {
providerValue = System.Convert.ToString(
Convert.ToInt32(numericStr, provider));
}
catch(System.Exception ex) {
providerValue = GetExceptionType(ex);
}
Console.WriteLine(format, numericStr, defaultValue, providerValue);
} //ConvertToInt32
public static void main(String[] args)
{
// Create a NumberFormatInfo object and set several of its
// properties that apply to numbers.
NumberFormatInfo provider = new NumberFormatInfo();
// These properties affect the conversion.
provider.set_NegativeSign("neg ");
provider.set_PositiveSign("pos ");
// These properties do not affect the conversion.
// The input string cannot have decimal and group separators.
provider.set_NumberDecimalSeparator(".");
provider.set_NumberGroupSeparator(",");
provider.set_NumberGroupSizes(new int[]{3});
provider.set_NumberNegativePattern(0);
Console.WriteLine(("This example of\n"
+ " Convert.ToInt32( string ) and \n"
+ " Convert.ToInt32( string, IFormatProvider ) "
+ "\ngenerates the following output. It converts "
+ "several strings to \nint values, using "
+ "default formatting or a NumberFormatInfo object.\n"));
Console.WriteLine(format, "String to convert", "Default/exception",
"Provider/exception");
Console.WriteLine(format, "-----------------", "-----------------",
"------------------");
// Convert strings, with and without an IFormatProvider.
ConvertToInt32("123456789", provider);
ConvertToInt32("+123456789", provider);
ConvertToInt32("pos 123456789", provider);
ConvertToInt32("-123456789", provider);
ConvertToInt32("neg 123456789", provider);
ConvertToInt32("123456789.", provider);
ConvertToInt32("123,456,789", provider);
ConvertToInt32("(123456789)", provider);
ConvertToInt32("2147483648", provider);
ConvertToInt32("-2147483649", provider);
} //main
} //ToInt32ProviderDemo
/*
This example of
Convert.ToInt32( string ) and
Convert.ToInt32( string, IFormatProvider )
generates the following output. It converts several strings to
int values, using default formatting or a NumberFormatInfo object.
String to convert Default/exception Provider/exception
----------------- ----------------- ------------------
123456789 123456789 123456789
+123456789 123456789 FormatException
pos 123456789 FormatException 123456789
-123456789 -123456789 FormatException
neg 123456789 FormatException -123456789
123456789. FormatException FormatException
123,456,789 FormatException FormatException
(123456789) FormatException FormatException
2147483648 OverflowException OverflowException
-2147483649 OverflowException FormatException
*/