我发现如果最后一行print用浮点数格式化print('%.1f%%' % r) 的话,打印出来的是18.1%
如果用字符串格式化 print('%.4s%%' % r ) 的话,打印出来的是18.0%
实际运算的结果应该是18.055555555.....%, 这也就说明,在要求保留一位小数的情况下, 打印字符串格式只能显示小数点后这一位,并不考虑下一位是否四舍五入,而浮点数格式化存在后一位四舍五入的情况。
那么问题来了,如果想要在字符串格式化的情况下,打印一个需要四舍五入的数,应该怎么做?
PS:话说字符串格式化下为什么是%.4s 这个.4完全是一个一个数试出来的,对于为什么要输入.4, 为什么输入4之后跑出来的答案带好多位小数,我非常困惑。。。。请大家不灵赐教!
Sign in to make a reply
托了个福
我发现如果最后一行print用浮点数格式化print('%.1f%%' % r) 的话,打印出来的是18.1%
如果用字符串格式化 print('%.4s%%' % r ) 的话,打印出来的是18.0%
实际运算的结果应该是18.055555555.....%, 这也就说明,在要求保留一位小数的情况下, 打印字符串格式只能显示小数点后这一位,并不考虑下一位是否四舍五入,而浮点数格式化存在后一位四舍五入的情况。
那么问题来了,如果想要在字符串格式化的情况下,打印一个需要四舍五入的数,应该怎么做?
PS:话说字符串格式化下为什么是%.4s 这个.4完全是一个一个数试出来的,对于为什么要输入.4, 为什么输入4之后跑出来的答案带好多位小数,我非常困惑。。。。请大家不灵赐教!