
No.3ベストアンサー
- 回答日時:
>「数値型」でもいいじゃないの?
「いいじゃない」レベルではありません。
金額を扱う場合は演算誤差を避ける必要が
あります。2進法を使う限り実数演算では
誤差が出ます。
よって、通貨型も適切ではありません。
数値型→十進型を使うべきです。
データ容量、演算速度とも不利ですが、
人間の計算と同じ結果になるのが最大の
メリットです。
それに、容量や速度と言っても、僅かな
問題です。
この回答へのお礼
お礼日時:2010/03/04 18:25
おおおーーー
数値型→十進型
なるものが あるのですね すごく勉強になりました
「人間の計算と同じ結果」言葉の響に魅力があります
ありがとうございました
No.2
- 回答日時:
数値型のメリットは、格納領域が通貨型よりも少なくて済むことです。
でも、それくらいです。
金額を扱う際の致命的なデメリットとして、四則演算で円未満の端数が出ると容易に浮動小数点誤差が発生する問題があります。詳しくは「浮動小数点誤差」あたりで検索していただくと、詳しい解説をたくさん入手できます。
この問題があるがために、金額に代表される、誤差を極力抑える必要のあるデータに関しては、固定小数点の通貨型を用いるのが一般的になっています。
金額でも、処理が円単位の単純合計しかしないとか、またはあるていどの誤差を許容するようなレアな状況だと、他の要素を考慮して数値型を選択する可能性もなくはないです。ただ拡張時のリスクを考えあわせると、数値型を採用するのは相当珍しいと言えます。少なくとも、一般論で「数値型でもいい」という発言がプロから出ることは、まず有りえないです。
設計時に安易に数値型を設定してしまったため、問題が発覚した時点ではもうテーブル設計を変えられなくて、泣く泣く演算箇所を片っ端から CCur() で通貨型に変換してまわる破目になった話を定期的に掲示板で見かけますので、一種の保険の意味でも金額はすべて通貨型にしておくことをお勧めします。
余談ですが、扱う金額の範囲が小さいからデータ型もそれに合わせればよいという考え方は非常に危険です。わたしは演算処理に使われない金額を見たことがありませんので、必ず何らかの演算に使用されることを前提に考えますが、演算中では一時的に、使用する金額の数万倍とか数億倍の値になることがあります。典型的な例として、小数点第n位での四捨五入をする際、いったん10^n倍してから円未満の端数を処理して10^n割で戻すという方法が使われる場合があります。そうすると、「そんな国家予算みたいな額は扱うわけない」と言って小さく設定したデータ型では、10^n倍した時点でオーバーフローするかもしれません。その意味でも、金額は通貨型で扱ったほうがよいです。
もうひとつ、数値演算は小さいデータ型の方が速いというのは一般論としてありますが、小数点以下を扱う型の場合は話が別で、浮動小数点よりも固定小数点 (通貨型) の方が (小数点位置の決定コストが無い分) 速いといわれています。その観点からも、通貨型の方がお勧めです。
この回答へのお礼
お礼日時:2010/03/04 18:30
のもすごく御丁寧な御回答ありがとうございます。
「数値型」の選択は、やはりなさそうです
(もともとMSが準備しているものでもありますし)
一読して、意味が分からない部分が少しありましたが、
私にはまだ、今後の研究課題がまだあるとの認識頂きました。
ありがとうございます。
No.1
- 回答日時:
どの程度の範囲のお金を扱うかによります。
1円単位で20億円ぐらいまで、赤字も20億円ぐらいまでということなら「数値型でもいいんじゃないの」です。「いいんじゃないの」であって、メリットを特に考えていないでしょう。
一応、領域は少なくなります。整数型のが処理速度も速いです。
数値型で4バイト整数でしたら上記の範囲です。通貨型は8バイトです。32ビットパソコンでしたら32ビットつまり4バイト単位での処理です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アジアの統一通貨はできないの...
-
メイプルストーリーでいう1.5...
-
シンガポールの略は、本当はど...
-
LCUとはどういう単位ですか?
-
円高になると具体的にどのよう...
-
韓国での1億ウォンの価値
-
アカウント売買サイトRMTについ...
-
小泉政権で竹中平蔵が導入したP...
-
外貨で入出金できる銀行
-
ドルとユーロ
-
中国元の表記は「¥」
-
ドル高円安問題って日銀がドル...
-
為替予約はリスクゼロ?
-
為替スワップとは?
-
体重の160 lbs.は何キロですか?
-
「ユーロ」で変換しても?は出て...
-
見積りの提示額は?
-
円高いくらくらい(基準)
-
【円安で日本円の価値が毎日下...
-
エクセルで、カンマとピリオド...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
シンガポールの略は、本当はど...
-
アカウント売買サイトRMTについ...
-
LCUとはどういう単位ですか?
-
韓国での1億ウォンの価値
-
いわゆる“日銀砲”は何故有効に...
-
銀行は何故、金額を10進数小数...
-
韓国ウォン建ての預金を東京で...
-
ExcelのIF関数を用いた複数条件...
-
マネーストック(M1)に含まれ...
-
1海外通貨(ウォンなど)が1...
-
どうしてアジア諸国は賃金が安...
-
コインチェックの通貨をポロ二...
-
アリババのサイトで、 ¥100とか...
-
ドルウォンが1420になりました...
-
ウォン。
-
ワールドアプリ、という仮想通...
-
「仮想通貨FX」とか「ビットコイン...
-
「腐るお金」「減価する通貨」...
-
一物一価???
-
今の経済状況見てるとハイパー...
おすすめ情報