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

C#の通貨に使用するのに最適なデータ型は何ですか?


C#の通貨に使用するのに最適なデータ型は10進数です。 10進型は、財務および金銭の計算に適した128ビットのデータ型です。 10進タイプは、1.0 * 10^-28から約7.9*10 ^ 28の範囲の値を、有効数字28-29で表すことができます。 10進変数を初期化するには、接尾辞mまたはMを使用します。

10進数b=2.1m;

次の例は、10進数の最小値と最大値を示しています。

using System;
namespace DemoApplication{
   public class Program{
      public static void Main(){
         Console.WriteLine($"Deciaml Min Value: {decimal.MinValue}");
         Console.WriteLine($"Deciaml Max Value: {decimal.MaxValue}");
         Console.ReadLine();
      }
   }
}

出力

Deciaml Min Value: -79228162514264337593543950335 

Deciaml Max Value: 79228162514264337593543950335


10進数型の値の有限集合は、(-1)^ s * c * 10 ^ -eの形式です。ここで、符号sは0または1であり、係数cは0 <=* c *<2^で与えられます。 96であり、スケールeは0 <=e <=28です。10進タイプは、符号付きゼロ、無限大、またはNaNをサポートしていません。 10進数は、10の累乗でスケーリングされた96ビット整数として表されます。絶対値が1.0m未満の小数の場合、値は小数点以下28桁まで正確ですが、それ以上はありません。

絶対値が1.0m以上の小数の場合、値は正確に28桁または29桁です。 floatおよびdoubleデータ型とは異なり、0.1などの10進数の小数は10進数表現で正確に表すことができます。 floatおよびdouble表現では、このような数値は多くの場合無限の小数部であるため、これらの表現は丸め誤差を起こしやすくなります。

10進タイプは、floatとdoubleの両方よりも精度が高く、範囲が狭いため、floatとdoubleよりも優先されます。

米ドルがインドルピーに換算される例を考えてみましょう。

using System;
namespace DemoApplication{
   public class Program{
      public static void Main(){
         decimal usd = 2.5m;
         Console.WriteLine($"USD: {usd}");
         decimal inrOfOneUSD = 75.04m;
         Console.WriteLine($"INR value of one USD: {inrOfOneUSD}");
         decimal inr = usd * inrOfOneUSD;
         Console.WriteLine($"INR value: {inr}");
         Console.ReadLine();
      }
   }
}

出力

上記のコードの出力は

です。
USD: 2.5
INR value of one USD: 75.04
INR value: 187.600

  1. データ分析とは何ですか?使用するのに最適なツール

    ほとんどの人がデータ分析について考えるとき、彼らはMicrosoftExcelのようなツールでデータを操作して分析することを考えます。現実には、データ分析には、データが伝えるストーリーを操作および理解するためのさまざまなツールとさまざまな方法が含まれます。 データ分析とは何ですか?ビジネスデータ、製造データ、マーケティングデータ、または事業を行っている業界やビジネスに固有のデータについて話している場合、データ分析の使用方法は大きく異なります。 この記事では、データ分析のさまざまな側面、それらの意味、およびそれらが一般的にどのように使用されているかについて学習します。 データ収集

  2. C#のデータ型、値型、参照型は何ですか?

    C#のデータ型には、値型、参照型、ポインタ型の2種類があります。 値型 値型変数には、値を直接割り当てることができます。これらは、System.ValueTypeクラスから派生しています。 値型のデータ型は次のとおりです- タイプ 表す 範囲 デフォルト値 ブール ブール値 正誤問題 バイト 8ビット符号なし整数 0〜255 0 char 16ビットUnicode文字 U+0000からU+fff \ 0 10進数 有効数字28〜29桁の128ビットの正確な10進値 (-7.9 x 1028〜7.9 x 1028)/ 100〜28 0.0M