Python温度转换程序输出保留两位小数的格式调整问题
Python温度转换程序输出保留两位小数的格式调整问题
嗨,我来帮你搞定这个小问题~你的代码里虽然用了round()把结果保留了两位小数,但在打印的时候,如果小数部分末尾是0,Python会自动省略多余的0,所以才会出现122.0而不是你想要的122.00。这里有几个简单的调整方法,都能达到你要的效果:
直接在格式化字符串中指定小数位数
这是最直接的方式,修改print语句的f-string格式,强制显示两位小数:print(f"Temperature in fahrenheit : {fahrenheit:.2f}")这里的
:.2f表示以浮点数格式输出,固定保留两位小数,不管末尾是不是0都会完整显示。使用
str.format()方法
如果你习惯用旧一点的格式化方式,也可以这样写:print("Temperature in fahrenheit : {:.2f}".format(fahrenheit))效果和上面的f-string完全一致。
省略
round(),直接靠格式化处理
其实格式化本身就会帮你做四舍五入,所以你甚至可以去掉round()这一行,让代码更简洁:def temp_converter(_value): fahrenheit = (_value * 9.00 / 5.00) + 32.00 print(f"Temperature in fahrenheit : {fahrenheit:.2f}") celcius = float(input(": ")) temp_converter(celcius)
这样调整后,当你输入50的时候,输出就会是Temperature in fahrenheit : 122.00啦~
备注:内容来源于stack exchange,提问作者user778996
相关产品推荐
相关产品推荐

