求圆的面积为什么结果是这个样子

我换成3.1415后答案是正确的,但是3.14结果就多了小数位数,这是为什么呢

img

这是计算都存在的问题,https://xufive.blog.csdn.net/article/details/103816159

带浮点数的运算都可能不确定结果,这是计算精度问题,可以自行精确小数点位数

r = input("请输入圆的半径:")
s = 3.14 * int(r) * int(r)
print("圆的面积是:{:.4f}".format(s))
'''--result
请输入圆的半径:3
圆的面积是:28.2600
'''

这是浮点数在计算机存储产生的精度损失。 可以用 round( floatnum, 2 )指定答案要保留的位数。