C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#でDouble型の値をInt64型に変換する方法【Convert.ToInt64の使い方】

C#において、Double型(倍精度浮動小数点数)の値をInt64型(64ビット符号付き整数)に変換するには、Convert.ToInt64() メソッドを使用します。

Int64は、C#では long 型としても知られており、約 -9.2 × 10^18 ~ 9.2 × 10^18 の範囲の整数値を扱うことができます。浮動小数点数から整数へ変換する際、Convert.ToInt64() は銀行家丸め(四捨五入ではなく、最も近い偶数への丸め)を行う点にも注目してください。

基本的な変換手順

まず、変換元となるdouble型の値を用意します。

double val = 23.951213e12;

この値をInt64に変換するには、Convert.ToInt64() メソッドに引数として渡すだけです。

long longVal = Convert.ToInt64(val);

サンプルコード

実際の動作を確認できる、完全なプログラム例を以下に示します。

using System;
public class Demo {
    public static void Main() {
        double val = 23.951213e12;
        long longVal = Convert.ToInt64(val);
        Console.WriteLine("Converted double {0:E} to Int64 {1:N0} value ", val, longVal);
    }
}

実行結果

Converted double 2.395121E+013 to Int64 23,951,213,000,000 value

補足:注意点

  • Double型の値がInt64の表現範囲を超える場合、OverflowException がスローされます。
  • NaN(非数)やInfinity(無限大)を変換しようとした場合も例外が発生します。
  • 単純に切り捨てたい場合は (long)val のような明示的なキャストや、Math.Truncate() を利用する方法もあります。

このように、Convert.ToInt64() を使えば、Double型からInt64型への変換を安全かつ簡単に行うことができます。

  1. Pythonで整数をローマ数字に変換する方法をわかりやすく解説

    整数 num が与えられたとき、それを対応するローマ数字へ変換することを考えてみましょう。ローマ数字では、以下のような記号と値が使われます。 「I」= 1 「V」= 5 「X」= 10 「L」= 50 「C」= 100 「D」= 500 「M」= 1000 通常、これらの記号は値が大きい順に左から右へ並べられ、すべての記号の値を合計することで数値を表します。しかし、小さい値の記号が大きい値の記号の左側に置かれる特別なケースも存在します。この場合、小さい方の値は大きい方の値から差し引かれます。 そのような減算ルールが適用されるケースの例は以下の通りです。 「I」が「V」の前にある場合 →

  2. Pythonで行列(リストのリスト)を辞書に変換する方法

    Pythonでは、行列(リストの中にリストが入ったネストされた構造)を辞書形式に変換したい場面があります。たとえば、各行に行番号をキーとして割り当てて管理したい場合などです。こうした変換は、辞書内包表記(dictionary comprehension)を使えば、わずか1行のコードで簡潔に実現できます。 サンプルコード 以下は、行列を辞書に変換する具体的な例です。 my_list = [[71, 26, 35], [65, 56, 37], [89, 96, 99]] print(The list is :) print(my_list) my_result = {my_index + 1