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
人気ブログランキングへ
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#]8桁の数字(文字列)をDateTime型に変換
フォーム上のテキストボックスコントロールを取得して入力チェック
正規表現
【C#】ドロップダウンリストにListItemをAddする
【C#】DataTableをソートしたい
[C#]8桁の数字(文字列)をDateTime型に変換
フォーム上のテキストボックスコントロールを取得して入力チェック
正規表現
【C#】ドロップダウンリストにListItemをAddする
【C#】DataTableをソートしたい
Posted by ようすけ at 16:07│Comments(0)
│C#