.net column

.NET開発者のためのブログメディア
計算

C#のDecimal型を使った計算と型変換の方法

2020年03月03日

整数の演算であれば「int型」で事足りるかと思いますが、Decimal型では小数点以下の数値も扱うことができ、標準的な数値演算をサポートするメソッドも用意されています。
この記事では、Decimal型を使った計算や型変換について解説していきます。ぜひ参考にしてみてください。

PG
計算結果の小数点以下が画面に表示されません。一度ソースコードを見てもらえないでしょうか?
PM
なるほど、計算結果をint型で格納していますね。int型は整数しか扱えないので、小数点以下は切り捨てられます。このような場合には、Decimal型を使うのがおすすめです。

Decimal型の概要

Decimal型は10進数の浮動小数点数を表しています。浮動小数点型には、他にもfloat型やdouble型が存在しますが、その中でもDecimal型は有効桁数の範囲が広く、丸め誤差のない財務計算にも適しています。

Decimal型での計算

それでは、実際にDecimal型を用いて、代表的な四則演算を行っていきましょう。
四則演算ごとにメソッドが用意されており、引数に2つの数値を与えて計算結果を返します。

【加算(Add)】

【減算(Subtract)】

【乗算(Multiply)】

【除算(Divide)】

除算の場合、綺麗に割り切れない計算結果もでてきますね。その場合はどのように出力されるか、合わせて確認してみましょう。

最大有効桁数まで循環小数で表されており、丸め誤差は発生していません。

しかし、実際にこのように出力されると見えにくいですよね。特定の桁数まで出力したい場合は、Roundメソッドを使用すると数値を四捨五入することもできます。例えば、計算結果を小数点以下2桁まで出力してみましょう。

Decimal型の変換

Decimal型から任意の整数型へ変換する場合、小数点以下は切り捨てられ、最も近い整数が返されます。

【Decimal → Int32】

任意の浮動小数点型へ変換する場合は、小数点以下も保持されて返されます。しかし、有効桁数の違いから、<例2>のように精度が落ちる可能性もあるため注意しましょう。

【Decimal → Double】

PG
なるほど、こんな便利なデータ型があったのですね!
PL
そうですね。この機会に、Decimal型を使用してさまざまな計算を行ってみてください。

Decimal型を使って計算ができる

今回はDecimal型を使った計算や型変換を紹介しました。プログラムを組む上で、数値計算は必ずといって良いほど通る道だと思います。既に用意されているクラスやメソッドを活用して、効率良くコーディングを進めていきたいですね。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)