フリーエンジニアである下っ端SEの備忘録と日記。日々是精進。 開発言語は主にC#。 開発技術が日々進化し続けている今日、取り残されまいとするも歳のせいか覚えが悪いSE。 ほったらかしですいません。

2010年03月15日

【C#】decimal サフィックスのm

プログラムの中に何かの計算式があって、

Convert.ToInt32(fun / 6m * 10m);

と書いてあり(funはint型)、

6m、10m の m って何?
ってなりました。

どうもdecimal型で計算してるぽいなぁと思って調べました。

マイクロソフトリファレンスより
http://msdn.microsoft.com/ja-jp/library/364x0z75.aspx

decimal キーワードは、128 ビットのデータ型を示します。
decimal 型は、浮動小数点型よりも有効桁数が多く、範囲が狭いので、財務や金融の計算に適しています。

範囲
±1.0 × 10−28 to ±7.9 × 1028


実数値リテラルを decimal として扱うには、サフィックス m または M を使用します。

decimal myMoney = 300.5m;
サフィックス m がない場合は double として扱われ、コンパイラ エラーになります。

整数型は、暗黙的に decimal に変換され、結果は decimal になります。
したがって、サフィックスなしで整数リテラルを使用して 10 進変数を初期化できます。
decimal myMoney = 300;


decimal 型と数値の整数型を同じ式に混在させることもできます。
同じ式に decimal と int が混在している例を示します。結果は decimal 型になります。
decimal d = 9.1m;
int y = 3;
d + y はdecimal型の12.1

てことは、さっきの計算式はint型とサフィックスをくっつけたdecimal型の値を計算して、
結果をdecimalで求めてるって事(・・・であってんのかな(汗)

この記事がお役に立ったようでしたらぜひクリックお願いしますm(_ _)m
人気ブログランキングへ
人気ブログランキングへ



同じカテゴリー(C#)の記事画像
【C#】数字が入力されているかチェック
【C#】short型 + short型 = int型
同じカテゴリー(C#)の記事
 [C#]日付チェック(スラッシュありなし両方対応) (2014-09-03 13:50)
 [C#]8桁の数字(文字列)をDateTime型に変換 (2014-07-07 18:59)
 フォーム上のテキストボックスコントロールを取得して入力チェック (2014-07-04 14:50)
 正規表現 (2011-01-24 15:29)
 【C#】ドロップダウンリストにListItemをAddする (2009-12-03 10:32)
 【C#】DataTableをソートしたい (2009-11-21 09:00)

Posted by ようすけ at 16:07│Comments(0)C#
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。