Pythonのお勉強 Part62at TECH
Pythonのお勉強 Part62 - 暇つぶし2ch126:デフォルトの名無しさん
19/10/02 15:22:36.64 vkK/4cs10.net
>>125 数字をどう扱うかだろうね。 
途中演算は全て分数で計算し結果も分数ならそれで終わりだし、最終的に浮動小数点数で表したければ何桁で丸めるかと言うだけの話だろ。
有理数として扱いたければ分数で最終まで扱うしかない。
from decimal import *
from fractions import Fraction
getcontext().prec = 28
f137 = Fraction(1,3)+Fraction(1,7) # 1/3 + 1/7 -> f137= 10/21
print(f137 , Decimal(float(f137)))
# 10/21 0.47619047619047616404230893749627284705638885498046875
同じことを普通の浮動小数点演算すると
print(13/+1/7)
# 0.47619047619047616


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch