我有一些价格,例如 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/