1 python floating-point numbers decimal-point rounding
我想将一个数字转换为具有 3 位小数点的浮点数,但我希望它不进行四舍五入。例如:
a = 12.341661
print("%.3f" % a)
Run Code Online (Sandbox Code Playgroud)
此代码返回此数字:
12.342
Run Code Online (Sandbox Code Playgroud)
但我需要原始号码,我需要这个:
12.341
Run Code Online (Sandbox Code Playgroud)
我编写了一个代码,从用户那里接收数字并将其转换为浮点数。我不知道用户输入的数字是什么。
我的第一个想法是改为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)
Run Code Online (Sandbox Code Playgroud)
这会输出你想要的:
12.341
Run Code Online (Sandbox Code Playgroud)
即使输入较少,要得到 3 位小数,您可以格式化输出:
a = 3.1
b = int(a*1000)/1000.
print("%.3f" % b)
Run Code Online (Sandbox Code Playgroud)
输出:
3.100
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6129 次 |
| 最近记录: |