python - 如何使用 python 将 float 舍入为固定小数部分

标签 python

我有一些价格,例如 5.35、10.91、15.55,我使用

将其四舍五入到两位小数
Price = "{:.2f}".format(Price) 

但是我怎样才能使它们基于固定小数 0.50 和 0.90 并具有

5.50、10.90、15.50

谢谢

最佳答案

如果你有带小数部分的 float ,你可以使用第一个和第二个例子,否则所有数字(实际上是所有其他类型)你可以使用第三个和第四个。 Num 是你的小数部分。 x 是你的 0.5,y 是你的 0.9

def round(num, x, y) :
    av = (x+y)/2
    if num < av :
        return x
    return y

或者,如果您想要像 15.98 这样的传递数字:

def round(num, x, y) :
    av = (x+y)/2
    if num % 1 < av :
        return int(num)+x
    return int(num)+y

你可以调用:

round(15.98,0.5,0.9)

Output: 15.9

或者类似的东西:

def round(number):
    x=0.5
    y=0.9
    if type(number) is float: 
        av = (x+y)/2
        if number % 1 < av :
            return int(number)+x
        return int(number)+y
    return number

所有这些都在四舍五入。如果您想汇总,构造将是:

def round(number):
    x=0.5
    y=0.9
    if type(number) is float: 
        av = (x+y)/2
        from builtins import round as rd
        if rd(number % 1,2 ) < av :
            return int (number)+x
         return int (number)+y
     return number

关于python - 如何使用 python 将 float 舍入为固定小数部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55612239/

相关文章:

Python:以编程方式将 Python 包编译为 pyc 或 pyo 文件

python - 在运行时之前安排任务的方法

python - 两个进程读取/写入同一个文件 Python

python - 将括号分隔的字符串拆分为字典

python - 使用 plone.api 创建文件的脚本 Python 在设置文件时出现错误 WrongType

python - 如何纠正反向 basemap 图中错误的刻度标签位置

Python: 'NoneType' 对象不可下标'错误

python - 扫雷:显示周围方 block 功能卡住

Python Neo4j self 引用

python - 如何在循环过程中将 df 附加到另一个 df