[過去ログ] Pythonのお勉強 Part68 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
147
(1): (ワッチョイ 2701-tX/F) 2022/09/28(水)02:27 ID:OOL0jr8Q0(1/2) AAS
>>144
それだと
n=1.0 -> 1
n=0.00001 -> IndexError
になる

len(format(n,".17f").split(".")[1].rstrip("0"))
後ろのif isinstance(n, float) else 0も不要
n=1.0 -> 0
n=0.00001 -> 5
154
(2): (ワッチョイ 2701-tX/F) 2022/09/28(水)18:25 ID:OOL0jr8Q0(2/2) AAS
>>152
format使うの提案したけど使わないほうがよさそう、誤差がでる

f(n): 負数で落ちる
s=str(n).lstrip("-")

c=Decimal(n*r) のところで
n*r で誤差がでる
c=Decimal(str(n)) * Decimal(str(r))

負数対応四捨五入 -0.015 を四捨五入して -0.02
rs=((c > 0) - (c < 0)) * abs(c).quantize(Decimal("0."+("0"*d)), rounding=ROUND_HALF_UP)

-0.015 を四捨五入して -0.01のようにしたい場合
rs=c.quantize(Decimal("0."+("0"*d)), rounding=ROUND_HALF_UP)

四捨五入したいのかよくわからんかった、roundingは好みのオプションでどうぞ
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.030s