# Decimal.ToOACurrency(Decimal)Decimal.ToOACurrency(Decimal)Decimal.ToOACurrency(Decimal)Decimal.ToOACurrency(Decimal) Method

## 定義

``````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``

#### パラメーター

value
Decimal Decimal Decimal Decimal

#### 戻り値

`value` と等価の OLE オートメーション値を格納する 64 ビット符号付き整数。A 64-bit signed integer that contains the OLE Automation equivalent of `value`.

## 例

``````// 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
``````