Python 3.x Python十进制格式结果不一致
问题是找到给定三个点的圆的方程。我记下了数学部分,但我很难得到正确格式的答案: (x-Cx)^2+(y-Cy)^2=r^2 规格表示小数点后两位数,但适当时删除尾随的0和小数。这是我要返回的字符串:Python 3.x Python十进制格式结果不一致,python-3.x,format,decimal,Python 3.x,Format,Decimal,问题是找到给定三个点的圆的方程。我记下了数学部分,但我很难得到正确格式的答案: (x-Cx)^2+(y-Cy)^2=r^2 规格表示小数点后两位数,但适当时删除尾随的0和小数。这是我要返回的字符串: "(x-{0:.3g})^2+(y-{1:.3g})^2={2:.3g}^2".format(Cx, Cy, r)" 以下是一个例子: Cx:6.0000000000000000002 Cy:5.7499999。。。 r:3.25 结果:“(x-6.00)^2+(y-5.75)^2=3.25^2”
"(x-{0:.3g})^2+(y-{1:.3g})^2={2:.3g}^2".format(Cx, Cy, r)"
以下是一个例子:
Cx:6.0000000000000000002
Cy:5.7499999。。。
r:3.25
结果:“(x-6.00)^2+(y-5.75)^2=3.25^2”
应为:“(x-6)^2+(y-5.75)^2=3.25^2”
编辑:切换到Python 3?另外,如果您使用的是Python2.X,请标记它。更新的标记。这在python 2.7中也适用。只需使用
“%.2g”%Cx
符号,而不是.format
。这是否可以归结为“{.3g}”。format(6.0000000000000000002)
?为我打印6
。