C#における64ビット符号付き整数(long)からDecimalへの暗黙的な変換方法
C#の long 型は、64ビットの符号付き整数を表すデータ型です。この記事では、long 型の値を decimal 型へ暗黙的に変換する方法について解説します。
long型からdecimal型への暗黙的な変換とは
C#では、long 型から decimal 型への変換は「暗黙的な変換(implicit conversion)」に分類されます。これは、データ損失のリスクがないため、キャスト演算子を明示的に記述する必要がなく、単純な代入だけで自動的に変換が行われることを意味します。
変換の手順
まず、long 型の変数に値を設定します。
long val = 989678876876876;
次に、その値を decimal 型の変数に代入するだけで、暗黙的な変換が完了します。
dec = val;
サンプルコード
実際のコード例を見てみましょう。
using System;
public class Demo {
public static void Main() {
long val = 76755565656565;
decimal dec;
Console.WriteLine("64ビット符号付き整数(long)からDecimalへの暗黙的な変換");
dec = val;
Console.WriteLine("Decimal : " + dec);
}
}
実行結果
64ビット符号付き整数(long)からDecimalへの暗黙的な変換 Decimal : 76755565656565
ポイントまとめ
long の範囲(約 -922京 ~ 922京)は decimal の有効範囲に完全に収まるため、この変換では値の欠落やオーバーフローが発生しません。そのため、C#コンパイラは明示的なキャストなしで自動的に変換を行ってくれます。金額計算など高い精度が求められる場面で、整数値を decimal として扱いたい場合に、この暗黙的な変換が役立ちます。
-
【C#入門】整数リテラルと浮動小数点リテラルの使い方を徹底解説
整数リテラルとはC#における整数リテラルは、10進数または16進数の定数として記述できます。基数(radix)は接頭辞(プレフィックス)で指定し、16進数の場合は「0x」または「0X」を値の先頭に付加します。10進数の場合には接頭辞を付けません。さらに、値の末尾にサフィックスを付けることで型を明示することも可能です。例えば「u」または「U」を付けるとunsigned int型になります。以下に整数リテラルの例を示します。10 // int 18u // unsigned intそれでは、これらのリテラルを使って実際に変数を宣言・初期化してみましょう。// int int a = 10
-
Pythonで10進数を2進数のリストに変換する方法
Pythonは柔軟性の高いプログラミング言語であり、データ処理の中で発生するさまざまな要件に対応できます。10進数の数値を2進数に変換し、さらに各桁をリストとして扱いたい場合には、以下に紹介する2つの方法が便利です。format関数を使う方法書式指定子(フォーマッター)に使う文字によって、数値を10進数・16進数・8進数・2進数など、任意の基数でフォーマットできます。以下の例では、書式指定として0:0bを使用し、format関数に2進数へ変換したい整数を渡しています。その後、文字列化した2進数を1文字ずつint型に変換してリストを作成します。コード例Dnum = 11 print(与えられた