小数および倍精度! - その1を使用するには?ときに使用するには?[リピート]

本文翻译自:ダブル対小数点!-どちらを使うべきとするとき?[重複]

この質問はすでにここに答えがあります。 この質問は、ここで回答されています。

私はCでダブルス使っている人を見ておく #を。 私は人々がC#でダブルスを使用し見てきました。 私はダブルス時々ことをどこかで読み知っ失う精度。 私は何かのどこかに、時々失う精度を読んで知っています。 私の質問は、ときにする必要があり、使用ダブル、私は小数点タイプを使用する必要があるとき? 私は小数点型を使用しなければならないときに私の質問は、あなたがダブル使うべきときでしょうか? どのタイプは、お金の計算?に適している 通貨に適したタイプは何? (IEグレーター最後以内$ 1億101 - 。500) すなわち以上米国よりも$ 100百万円)


#1階

参考:https://stackoom.com/question/4tGb/小数点とダブル-使用されたとき- -繰り返し使用する必要があります


ハウス#2

お金のために:decimal お金:decimal AリトルモアメモリーITは、コスト、しかし、あなたは丸めのような悩みを持っていませんdoubleたまにあります。 それは少しより多くのメモリがかかりますが、何の丸めトラブルが好きなんですがdouble時々あり。


ハウス#3

お金のために、常に小数。 お金のために、常に小数。 それが作成された理由です。 それが作成された理由です。

数字を正しくまたはバランスならなければならない場合は 、使用し小数点以下を。 番号が正しい和やバランス、利用小数にする必要があります。 これは、任意の金融ストレージや計算、含まれる人々は手で行う可能性がありますスコア、または他の数字を。 これは、金銭またはコンピューティング、ストレージが含まれ、または他のデジタルの人が手作業で行ってスコア付けすることができます。

数字の正確な値がない場合には 、重要な、。スピードのための二重の使用 数の正確な値は重要でない場合は、速度と二重の使用。 これは、グラフィックス、物理学または他の物理的含む 「有効桁数」が既に存在する科学計算を。 これはグラフィック有する物理的または他の物理的科学計算含む「有効数字」。


#4階

確かにあなたのお金の計算のための整数型を使用します。 絶対整数型通貨を。 ので、これは十分に強調することはできません一見、浮動小数点型が適切であると思われるかもしれません。 一見十分な浮動小数点型を持っているように見えるので、十分に強調することはできませんので。

Pythonコードの例をここに: これは、例えば、Pythonのコードです:

>>> amount = float(100.00) # one hundred dollars
>>> print amount
100.0
>>> new_amount = amount + 1
>>> print new_amount
101.0
>>> print new_amount - amount
>>> 1.0

それはかなりノーマルに見えます。 罰金に見えました。

今、10 ^ 20で再びこれを試してくださいジンバブエドル 試しに今して10 ^ 20ジンバブエドル

>>> amount = float(1e20)
>>> print amount
1e+20
>>> new_amount = amount + 1
>>> print new_amount
1e+20
>>> print new_amount-amount
0.0

あなたが見ることができるように、ドルが消えた 。 あなたが見ることができるように、ドルは姿を消しました。

あなたは整数型を使用する場合は、罰金に動作します: あなたは整数型を使用する場合は、作業することができます:

>>> amount = int(1e20)
>>> print amount
100000000000000000000
>>> new_amount = amount + 1
>>> print new_amount
100000000000000000001
>>> print new_amount - amount
1

ハウス#5

小数は正確な値です。 正確な値を小数。 ISダブル。の近似値を ダブル概算です。

USD: $12,345.67 USD (Decimal)
CAD: $13,617.27 (Decimal)
Exchange Rate: 1.102932 (Double)

ハウス#6

私の質問は、ときにする必要があり、使用ダブル、私は小数点タイプを使用する必要があるとき? 私は小数点型を使用しなければならないときに私の質問は、あなたがダブル使うべきときでしょうか?

decimalときの範囲の値を持つため 10 ^(+/- 28)、どこであなたが仕事ベース10個の表現に基づいて行動についての期待を持っている- 。基本的にお金 あなたは10 ^の範囲内(+/- 28)の値を使用する場合本質的に、ケースベース10表現に基づいて行動の期待がある場合decimal

doubleあなたが必要とするときの相対乱暴に異なる大きさ間精度(IEは、末尾に失っているAの問題ではないに大きな値の精度を数字) - doubleより最後の10 ^(+/- 300)の中でカバー doubleあなたは必要なときに、相対大の精度(であるが、精度の損失の数値の終わり問題ではない)異なる大きさの多くを横切る- double以上10 ^(+/- 300を覆います)。 科学的な計算は、ここで最高の一例です。 科学的なコンピューティングは最高の一例です。

お金の計算?のために適したタイプである 通貨に適したタイプは何?

小数、小数小数 小数、小数小数

何の代替を受け入れていない。 代替案を受け入れません。

最も重要な要因のうちつまりdouble、AS Aバイナリ分数を実施され、正確に多くを表すことができないdecimal画分(0.1のように)しているATのすべての ITが広64'bit FC対128」ビットであるためと数字の全体的な数が少なく動作がIS decimal 最も重要な因子は、バイナリ分数の形で実装されてdouble正確に多くの表現できないdecimal画分(例えば0.1) およびその幅が64ビットであり、であるため、総ビット数は、小さいdecimal128ビットです。 最後に、金融アプリケーション多くの場合、フィールドはにフォロー特有の持ってい丸めモード(時々 、法律で義務付けられたが)。 最後に、財務アプリケーションは、多くの場合、特定の従わなければならない丸めモード(時には法律で義務付けを)。 decimal これらの支持体 ; decimal それらをサポートし doubleしません。 doubleなし。

オリジナルの記事は、0公表 ウォン称賛73 ビュー560 000 +を

おすすめ

転載: blog.csdn.net/w36680130/article/details/105363431