我想将数字转换为带小数点后3位的浮点数,但我希望不取整。 例如:
a = 12.341661
print("%.3f" % a)
此代码返回以下数字:
12.342
但是我需要原始号码,我需要这个:
12.341
我编写了一个代码,该代码接收一个来自用户的数字并将其转换为浮点数。 我不知道用户输入的号码是什么。
答案 0 :(得分:2)
我的第一个想法是将print("%.3f" % a)
更改为print("%.3f" % (a-0.0005))
,但是它并不起作用:虽然它输出a = 12.341661所需的内容,但是如果a = 12.341则输出12.340,这显然不是是的。
相反,我建议使用int()
明确地进行铺地板:
a = 12.341661
b = int(a*1000)/1000.
print(b)
这将输出您想要的内容:
12.341
即使输入更少,也要获得3个小数,您可以格式化输出:
a = 3.1
b = int(a*1000)/1000.
print("%.3f" % b)
输出:
3.100
答案 1 :(得分:0)
尝试str和切片
a = 12.341661
b = str(int(a))
c = str(a - int(a))[1:5]
d = b + c
print(d)