如何使用Python的format()方法对浮点数保留两位小数问题咨询
用format()方法保留浮点数两位小数的实现方案
你可以通过在format的占位符中添加格式化规则实现需求,具体调整说明如下:
- 首先你原代码存在一处逻辑错误:
round(miles,-2)写在了miles变量赋值之前,执行时会触发变量未定义的报错;且参数-2代表保留到百位,如果你想单独对数值做四舍五入保留两位小数,正确写法是round(miles, 2),且需要放在miles = km * conv_fac之后。 - 仅通过format()方法实现效果不需要额外调用round函数,只需要给需要保留两位小数的占位符添加
:.2f规则即可,.2f表示将对应浮点数保留两位小数输出,自动完成四舍五入处理。
修改后的完整代码如下:
km = float(input('Enter "km" numbers: ')) conv_fac = 0.621371 miles = km * conv_fac print('{} km is equal to {:.2f} miles'.format(km, miles))
输入3.5时,运行输出结果为:
Enter "km" numbers: 3.5 3.5 km is equal to 2.17 miles
和你用%格式化得到的效果完全一致。如果你需要同时对km的输出做保留两位小数的处理,只需要把km对应的占位符也修改为{:.2f}即可。
内容的提问来源于stack exchange,提问作者Lzaruis
相关产品推荐
相关产品推荐

