小编EPH*_*EPH的帖子

Python编号使用%.*g打印格式

我在网上找到了这个python示例,我想准确理解数字格式的工作原理:

print "%.*g\t%.*g" % (xprecision, a, yprecision, b)
Run Code Online (Sandbox Code Playgroud)

我可以通过实验看到,它打印出一个(使用精确的xprecision),一个标签,然后是b(精确的yprecision).所以,作为一个简单的例子,如果我跑

print "%.*g\t%.*g" % (5, 2.23523523, 3, 12.353262)
Run Code Online (Sandbox Code Playgroud)

然后我明白了

2.2352  12.4
Run Code Online (Sandbox Code Playgroud)

我明白%g通常是如何工作的.我也明白%一般如何运作.在这个例子中令我困惑的是构造%.*g.*这里的工作如何?我可以看到它以某种方式获取所需的精度值并将其替换为print表达式,但为什么会发生这种情况呢?为什么精确数字出现在格式化的数字之前(xprecision,a ...)?

有人可以打破这个并向我解释一下吗?

python string-formatting

10
推荐指数
1
解决办法
909
查看次数

标签 统计

python ×1

string-formatting ×1