Discuss / Python / 讨论: 字符串格式化和浮点数格式化的区别

讨论: 字符串格式化和浮点数格式化的区别

Topic source

托了个福

#1 Created at ... [Delete] [Delete and Lock User]

我发现如果最后一行print用浮点数格式化print('%.1f%%' % r) 的话,打印出来的是18.1%

如果用字符串格式化 print('%.4s%%' % r ) 的话,打印出来的是18.0%

实际运算的结果应该是18.055555555.....%, 这也就说明,在要求保留一位小数的情况下, 打印字符串格式只能显示小数点后这一位,并不考虑下一位是否四舍五入,而浮点数格式化存在后一位四舍五入的情况

那么问题来了,如果想要在字符串格式化的情况下,打印一个需要四舍五入的数,应该怎么做?

PS:话说字符串格式化下为什么是%.4s 这个.4完全是一个一个数试出来的,对于为什么要输入.4, 为什么输入4之后跑出来的答案带好多位小数,我非常困惑。。。。请大家不灵赐教!


  • 1

Reply