Decimal.ToOACurrency(Decimal) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte o valor Decimal especificado no valor de moeda de Automação OLE equivalente, que é contido em um inteiro com sinal de 64 bits.
public:
static long ToOACurrency(System::Decimal value);
public static long ToOACurrency (decimal value);
static member ToOACurrency : decimal -> int64
Public Shared Function ToOACurrency (value As Decimal) As Long
Parâmetros
- value
- Decimal
O número decimal a ser convertido.
Retornos
Um inteiro com sinal de 64 bits que contém o equivalente à Automação OLE de value
.
Exemplos
O exemplo de código a seguir usa o método para converter números nos valores equivalentes da Automação ToOACurrency
Decimal
OLE Conversor de Moedas que estão contidos em Int64 campos.
// Example of the Decimal::ToOACurrency method.
using namespace System;
#define dataFmt "{0,31}{1,27}"
// Get the exception type name; remove the namespace prefix.
String^ GetExceptionType( Exception^ ex )
{
String^ exceptionType = ex->GetType()->ToString();
return exceptionType->Substring( exceptionType->LastIndexOf( '.' ) + 1 );
}
// Display the Decimal::ToOACurrency parameter and the result
// or exception.
void ShowDecimalToOACurrency( Decimal Argument )
{
// Catch the exception if ToOACurrency( ) throws one.
try
{
__int64 oaCurrency = Decimal::ToOACurrency( Argument );
Console::WriteLine( dataFmt, Argument, oaCurrency );
}
catch ( Exception^ ex )
{
Console::WriteLine( dataFmt, Argument, GetExceptionType( ex ) );
}
}
int main()
{
Console::WriteLine( "This example of the "
"Decimal::ToOACurrency( ) method generates \nthe "
"following output. It displays the argument as a "
"Decimal \nand the OLE Automation Currency value "
"as an __int64.\n" );
Console::WriteLine( dataFmt, "Argument", "OA Currency or Exception" );
Console::WriteLine( dataFmt, "--------", "------------------------" );
// Convert Decimal values to OLE Automation Currency values.
ShowDecimalToOACurrency( Decimal(0) );
ShowDecimalToOACurrency( Decimal(1) );
ShowDecimalToOACurrency( Decimal::Parse( "1.0000000000000000000000000000" ) );
ShowDecimalToOACurrency( Decimal::Parse( "100000000000000" ) );
ShowDecimalToOACurrency( Decimal::Parse( "100000000000000.00000000000000" ) );
ShowDecimalToOACurrency( Decimal::Parse( "10000000000000000000000000000" ) );
ShowDecimalToOACurrency( Decimal::Parse( "0.000000000123456789" ) );
ShowDecimalToOACurrency( Decimal::Parse( "0.123456789" ) );
ShowDecimalToOACurrency( Decimal::Parse( "123456789" ) );
ShowDecimalToOACurrency( Decimal::Parse( "123456789000000000" ) );
ShowDecimalToOACurrency( Decimal::Parse( "4294967295" ) );
ShowDecimalToOACurrency( Decimal::Parse( "18446744073709551615" ) );
ShowDecimalToOACurrency( Decimal::Parse( "-79.228162514264337593543950335" ) );
ShowDecimalToOACurrency( Decimal::Parse( "-79228162514264.337593543950335" ) );
}
/*
This example of the Decimal::ToOACurrency( ) method generates
the following output. It displays the argument as a Decimal
and the OLE Automation Currency value as an __int64.
Argument OA Currency or Exception
-------- ------------------------
0 0
1 10000
1.0000000000000000000000000000 10000
100000000000000 1000000000000000000
100000000000000.00000000000000 1000000000000000000
10000000000000000000000000000 OverflowException
0.000000000123456789 0
0.123456789 1235
123456789 1234567890000
123456789000000000 OverflowException
4294967295 42949672950000
18446744073709551615 OverflowException
-79.228162514264337593543950335 -792282
-79228162514264.337593543950335 -792281625142643376
*/
// Example of the decimal.ToOACurrency method.
using System;
class DecimalToOACurrencyDemo
{
const string dataFmt = "{0,31}{1,27}";
// Get the exception type name; remove the namespace prefix.
public static string GetExceptionType( Exception ex )
{
string exceptionType = ex.GetType( ).ToString( );
return exceptionType.Substring(
exceptionType.LastIndexOf( '.' ) + 1 );
}
// Display the decimal.ToOACurrency parameter and the result
// or exception.
public static void ShowDecimalToOACurrency( decimal Argument )
{
// Catch the exception if ToOACurrency( ) throws one.
try
{
long oaCurrency = decimal.ToOACurrency( Argument );
Console.WriteLine( dataFmt, Argument, oaCurrency );
}
catch( Exception ex )
{
Console.WriteLine( dataFmt, Argument,
GetExceptionType( ex ) );
}
}
public static void Main( )
{
Console.WriteLine( "This example of the " +
"decimal.ToOACurrency( ) method generates \nthe " +
"following output. It displays the argument as a " +
"decimal \nand the OLE Automation Currency value " +
"as a long.\n" );
Console.WriteLine( dataFmt, "Argument",
"OA Currency or Exception" );
Console.WriteLine( dataFmt, "--------",
"------------------------" );
// Convert decimal values to OLE Automation Currency values.
ShowDecimalToOACurrency( 0M );
ShowDecimalToOACurrency( 1M );
ShowDecimalToOACurrency( 1.0000000000000000000000000000M );
ShowDecimalToOACurrency( 100000000000000M );
ShowDecimalToOACurrency( 100000000000000.00000000000000M );
ShowDecimalToOACurrency( 10000000000000000000000000000M );
ShowDecimalToOACurrency( 0.000000000123456789M );
ShowDecimalToOACurrency( 0.123456789M );
ShowDecimalToOACurrency( 123456789M );
ShowDecimalToOACurrency( 123456789000000000M );
ShowDecimalToOACurrency( 4294967295M );
ShowDecimalToOACurrency( 18446744073709551615M );
ShowDecimalToOACurrency( -79.228162514264337593543950335M );
ShowDecimalToOACurrency( -79228162514264.337593543950335M );
}
}
/*
This example of the decimal.ToOACurrency( ) method generates
the following output. It displays the argument as a decimal
and the OLE Automation Currency value as a long.
Argument OA Currency or Exception
-------- ------------------------
0 0
1 10000
1.0000000000000000000000000000 10000
100000000000000 1000000000000000000
100000000000000.00000000000000 1000000000000000000
10000000000000000000000000000 OverflowException
0.000000000123456789 0
0.123456789 1235
123456789 1234567890000
123456789000000000 OverflowException
4294967295 42949672950000
18446744073709551615 OverflowException
-79.228162514264337593543950335 -792282
-79228162514264.337593543950335 -792281625142643376
*/
' Example of the Decimal.ToOACurrency method.
Module DecimalToOACurrencyDemo
Const dataFmt As String = "{0,31}{1,27}"
' 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
' Display the Decimal.ToOACurrency parameter and the result
' or exception.
Sub ShowDecimalToOACurrency( Argument As Decimal )
' Catch the exception if ToOACurrency( ) throws one.
Try
Dim oaCurrency As Long = Decimal.ToOACurrency( Argument )
Console.WriteLine( dataFmt, Argument, _
oaCurrency )
Catch ex As Exception
Console.WriteLine( dataFmt, Argument, _
GetExceptionType( ex ) )
End Try
End Sub
Sub Main( )
Console.WriteLine( "This example of the " & _
"Decimal.ToOACurrency( ) method generates " & vbCrLf & _
"the following output. It displays the argument as " & _
"a Decimal " & vbCrLf & "and the OLE Automation " & _
"Currency value as a Long." & vbCrLf )
Console.WriteLine( dataFmt, "Argument", _
"OA Currency or Exception" )
Console.WriteLine( dataFmt, "--------", _
"------------------------" )
' Convert Decimal values to OLE Automation Currency values.
ShowDecimalToOACurrency( 0D )
ShowDecimalToOACurrency( 1D )
ShowDecimalToOACurrency( _
Decimal.Parse( "1.0000000000000000000000000000" ) )
ShowDecimalToOACurrency( 100000000000000D )
ShowDecimalToOACurrency( _
Decimal.Parse( "100000000000000.00000000000000" ) )
ShowDecimalToOACurrency( 10000000000000000000000000000D )
ShowDecimalToOACurrency( 0.000000000123456789D )
ShowDecimalToOACurrency( 0.123456789D )
ShowDecimalToOACurrency( 123456789D )
ShowDecimalToOACurrency( 123456789000000000D )
ShowDecimalToOACurrency( 4294967295D )
ShowDecimalToOACurrency( 18446744073709551615D )
ShowDecimalToOACurrency( -79.228162514264337593543950335D )
ShowDecimalToOACurrency( -79228162514264.337593543950335D )
End Sub
End Module
' This example of the Decimal.ToOACurrency( ) method generates
' the following output. It displays the argument as a Decimal
' and the OLE Automation Currency value as a Long.
'
' Argument OA Currency or Exception
' -------- ------------------------
' 0 0
' 1 10000
' 1.0000000000000000000000000000 10000
' 100000000000000 1000000000000000000
' 100000000000000.00000000000000 1000000000000000000
' 10000000000000000000000000000 OverflowException
' 0.000000000123456789 0
' 0.123456789 1235
' 123456789 1234567890000
' 123456789000000000 OverflowException
' 4294967295 42949672950000
' 18446744073709551615 OverflowException
' -79.228162514264337593543950335 -792282
' -79228162514264.337593543950335 -792281625142643376