C# で Decimal を Double に変換する

Muhammad Zeeshan 2023年10月12日
C# で Decimal を Double に変換する

このチュートリアルでは、C# 言語で 10 進数を double に変換する方法を説明します。

C#Decimal.ToDouble() メソッドを使用して Decimal を Double に変換する

指定された 10 進数の値は、Decimal.ToDouble() を使用して同等の倍精度浮動小数点数に変換されます。 倍精度浮動小数点整数は 10 進数より有効桁数が少ないため、この方法では丸めミスが発生する可能性があります。

Decimal.ToDouble() メソッドを使用して、指定された decimal 値を倍精度の浮動小数点数に変換します。

構文:

public static double ToDouble(decimal deci);
  • deci は double に変換する decimal 表記の値です。
  • このメソッドは、式 dec と同じ精度 double と浮動小数点形式の数値を返します。

理解するために例を見てみましょう。

  1. まず、次のライブラリを使用する必要があります。

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    
  2. Main() クラス内で、4つの decimal 変数を作成し、いくつかの値で初期化します。

    decimal val1 = 9542.4m;
    decimal val2 = -23245.11m;
    decimal val3 = 10.888m;
    decimal val4 = 11111.4m;
    
  3. decimal 数値に対して Decimal.ToDouble() メソッドを使用し、結果をさまざまな double 変数、val1convertedval2convertedval3converted、および val4converted に保存します。

    double val1converted = Decimal.ToDouble(val1);
    double val2converted = Decimal.ToDouble(val2);
    double val3converted = Decimal.ToDouble(val3);
    double val4converted = Decimal.ToDouble(val4);
    
  4. 最後に、結果の double 値をコンソールに出力します。

    Console.WriteLine(val1converted);
    Console.WriteLine(val2converted);
    Console.WriteLine(val3converted);
    Console.WriteLine(val4converted);
    

完全なソース コード:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;

class decimal2doublebyZeeshan {
  static void Main() {
    decimal val1 = 9542.4m;
    decimal val2 = -23245.11m;
    decimal val3 = 10.888m;
    decimal val4 = 11111.4m;

    double val1converted = Decimal.ToDouble(val1);
    double val2converted = Decimal.ToDouble(val2);
    double val3converted = Decimal.ToDouble(val3);
    double val4converted = Decimal.ToDouble(val4);

    Console.WriteLine(val1converted);
    Console.WriteLine(val2converted);
    Console.WriteLine(val3converted);
    Console.WriteLine(val4converted);
  }
}

出力:

9542.4
-23245.11
10.888
11111.4
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

関連記事 - Csharp Math