当前位置: 首页 > 面试题库 >

如何将浮点数四舍五入到小数点后一位?

能业
2023-03-14
问题内容

假设我有8.8333333333333339,我想将其转换为8.84。如何在Python中完成此操作?

round(8.8333333333333339, 2)给与8.838.84。我是Python或一般编程的新手。

我不想将其打印为字符串,结果将被进一步使用。有关此问题的更多信息,请查看 Tim
Wilson的Python编程技巧:贷款和付款计算器



问题答案:

8.833333333339(或8.833333333333334的结果106.00/12)正确舍入为小数点后两位8.83。数学上,这听起来像您想要的是天花板功能。Pythonmath模块中的一个名为ceil

import math

v = 8.8333333333333339
print(math.ceil(v*100)/100)  # -> 8.84

地板和天花板功能通常分别将实数映射到最大的前一个或最小的后整数,该整数具有十进制小数位-因此将它们用于2个小数位,首先将数字乘以10
2(或100)即可将小数位数移位点,然后除以它以进行补偿。

如果math由于某种原因不想使用该模块,则可以使用我刚刚编写的这个(经过最低测试的)实现:

def ceiling(x):
    n = int(x)
    return n if n-1 < x <= n else n+1

_这如何适用于链接的[

贷款和付款计算器问题](http://openbookproject.net/pybiblio/practice/wilson/loan.php)_

贷款计算器输出的屏幕截图

从样本输出中可以看出,他们对每月付款进行了 四舍五入 ,这就是许多人所说的上限功能的效果。这意味着每个月略多于1 /
12的总量被支付。这样一来,末期付款就比平时少了一点,剩下的未付余额仅为8.76

使用正常的四舍五入产生每月付款8.83和稍高的最终付款同样有效8.87。但是,在现实世界中,人们通常不希望增加自己的付款,因此对每笔付款进行四舍五入是常见的做法-
还会更快地将钱退还给贷方。



 类似资料:
  • 我对java相当陌生,我必须创建这个程序,我不知道从哪里开始。有人能帮我做什么,以及如何写代码开始吗? 编写一个模拟收银机的程序。提示用户输入三件商品的价格。将它们相加以获得小计。确定小计的税额(6%)。查找销售小计加税额的总额。显示每件商品的价格、小计金额、税额和最终金额。 到目前为止,我有这个: 输出(如果价格为price1=1.65,price2=2.82和price3=9.08美元)如下所

  • 我如何四舍五入到两个小数位?

  • 获取以下数字集--> 当相加时,这些给出一个整数。

  • 问题内容: 如果值为,则应将其格式化为。如果是,那么应该是。 问题答案: 这是一个实用程序,可以将双精度舍入(而不是截断)双精度至小数位数。 例如: 原始版本;提防这个 这在小数位数很高(例如)或整数部分很大(例如)的极端情况下会严重崩溃。感谢Sloin指出这一点。 多年来,我一直在使用上面的方法将“不太大”的双精度取整到2或3个小数位(例如,以秒为单位的清理时间用于记录目的:27.9876543

  • 问题内容: 我想将双精度值四舍五入到2个小数点。 例如:我有双d = 2;结果应为result = 2.00 问题答案: 内部表示形式在2和2.00之间没有差异。您可以使用四舍五入的值到最接近的整数- 使该轮为2位小数,你可以乘100,圆形,再除以100,但你不应该期望的结果是 准确 2DPS,由于二进制浮点运算的性质。 如果您只想将值 格式化 为两位小数,请查看-如果您对 计算中 的小数位数感兴

  • 我需要把分钟换算成小时,四舍五入到小数点后两位。我还需要在小数点后显示最多两个数字。所以如果我有650分钟,那么小时应该是10.83。 但在这种情况下,如果我的分钟数是630小时,那就是10.5000000。但我只想要10.50(四舍五入后)。我如何做到这一点?