1

以下のページを読みました。

python decimals - 最も近い整数ドル (セントなし) への丸め - ROUND_HALF_UP を使用

http://docs.python.org/library/decimal.html

次のコードがあります。

total_num = Decimal(str(total/10))
total_num.quantize(Decimal('1'), rounding=ROUND_UP)

しかし、常に切り捨てですか?つまり、221 がある場合は 23 を返したいのです。現在、22 を取得しています。これに関して誤解していることはありますか?

[編集]

私はそれを次のように変更しました:total_num = int(math.ceil(float(total)/10))

を持つループintを続行するには、 が必要でした。forrange

4

2 に答える 2

5

math.ceil は使えないのですか?浮動小数点除算を使用している場合は、必要なことを行います。現在、整数除算を行っています。

于 2012-07-25T03:51:05.533 に答える
3

totalは整数です。そのため、/整数除算を行っています。で割るか10.(そして、精度の制限が *** に噛み付かないことを願っています)、またはDecimal適切なコンテキストで計算を行います。

于 2012-07-25T03:53:48.913 に答える