我的数据包含一个数字列,如0.01
或 ,0.9412
我想将其显示为1.00%
和94.12%
。我想通过 来声明该列dec sep align
。我该怎么做?
[这个问题是在回答PGFplotstable:是否可以为“行”而不是“列”设置数字格式?已被接受。我将其添加为单独的答案以简化搜索]
答案1
关键思想是使用
将值乘以 100 的预处理方式
附加百分号的后处理样式
然而,后处理风格适用于二单元格,因为dec sep align
创建了两个人工单元格。手册指出,\pgfplotstablepartno
可用于识别当前正在后处理的部件。完整的解决方案可以是
\documentclass{article}
\usepackage{pgfplotstable}
\begin{document}
\pgfplotstabletypeset[
columns/A/.style={
column type=r,
dec sep align,
preproc/expr={100*##1},
postproc cell content/.append code={
\ifnum1=\pgfplotstablepartno
\pgfkeysalso{@cell content/.add={}{\%}}%
\fi
},
fixed,
fixed zerofill,
},
]
{
A
0.01
1
0.1234
0.5
}
\end{document}