Decimal.ToUInt16(Decimal) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した Decimal の値を、等価の 16 ビット符号なし整数に変換します。
public:
static System::UInt16 ToUInt16(System::Decimal value);
[System.CLSCompliant(false)]
public static ushort ToUInt16 (decimal value);
[<System.CLSCompliant(false)>]
static member ToUInt16 : decimal -> uint16
Public Shared Function ToUInt16 (value As Decimal) As UShort
パラメーター
- value
- Decimal
変換する 10 進数。
戻り値
value
の値と等価な 16 ビット符号なし整数。
- 属性
例外
value
が UInt16.MaxValue より大きいか 、UInt16.MinValue より小さい。
例
次の例では、 メソッドを ToUInt16 使用して 10 進数を値に UInt16 変換します。
using System;
class Example
{
public static void Main( )
{
decimal[] values = { 123m, new Decimal(123000, 0, 0, false, 3),
123.999m, 65535.999m, 65536m,
32767.999m, 32768m, -0.999m,
-1m, -32768.999m, -32769m };
foreach (var value in values) {
try {
ushort number = Decimal.ToUInt16(value);
Console.WriteLine("{0} --> {1}", value, number);
}
catch (OverflowException e)
{
Console.WriteLine("{0}: {1}", e.GetType().Name, value);
}
}
}
}
// The example displays the following output:
// 123 --> 123
// 123.000 --> 123
// 123.999 --> 123
// 65535.999 --> 65535
// OverflowException: 65536
// 32767.999 --> 32767
// 32768 --> 32768
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -32768.999
// OverflowException: -32769
open System
let values =
[ 123m; Decimal(123000, 0, 0, false, 3uy)
123.999m; 65535.999m; 65536m;
32767.999m; 32768m; -0.999m;
-1m; -32768.999m; -32769m ]
for value in values do
try
let number = Decimal.ToUInt16 value
printfn $"{value} --> {number}"
with :? OverflowException as e ->
printfn $"{e.GetType().Name}: {value}"
// The example displays the following output:
// 123 --> 123
// 123.000 --> 123
// 123.999 --> 123
// 65535.999 --> 65535
// OverflowException: 65536
// 32767.999 --> 32767
// 32768 --> 32768
// -0.999 --> 0
// OverflowException: -1
// OverflowException: -32768.999
// OverflowException: -32769
Module Example
Public Sub Main()
Dim values() As Decimal = { 123d, New Decimal(123000, 0, 0, false, 3),
123.999d, 65535.999d, 65536d,
32767.999d, 32768d, -0.999d,
-1d, -32768.999d, -32769d }
For Each value In values
Try
Dim number As UShort = Decimal.ToUInt16(value)
Console.WriteLine("{0} --> {1}", value, number)
Catch e As OverflowException
Console.WriteLine("{0}: {1}", e.GetType().Name, value)
End Try
Next
End Sub
End Module
' The example displays the following output:
' 123 --> 123
' 123.000 --> 123
' 123.999 --> 123
' 65535.999 --> 65535
' OverflowException: 65536
' 32767.999 --> 32767
' 32768 --> 32768
' -0.999 --> 0
' OverflowException: -1
' OverflowException: -32768.999
' OverflowException: -32769
注釈
戻り値は、10 進値の整数部分です。小数部の数字は切り捨てられます。
代入演算子を Decimal 使用して、値を 16 ビット符号なし整数に Explicit 変換することもできます。 演算子は縮小変換を実行するため、C# ではキャスト演算子、Visual Basic では変換関数を使用する必要があります。
適用対象
こちらもご覧ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET