pgfmanual.pdf,VII 实用程序,重复的事情:Foreach 语句,说:
\foreach \x in {0,0.1,...,0.5} {\x, }
得出 0、0.1、0.20001、0.30002、0.40002,
并警告造成此问题的舍入误差。
按照 expl3 的方式做事\fp_step_inline:nnnn
通常更安全吗?
(如果我做
\documentclass{article}
\begin{document}
\ExplSyntaxOn\fp_step_inline:nnnn {0}{0.1}{0.5}{#1,~}\ExplSyntaxOff
\end{document}
,然后我得到:“0,0.1,0.2,0.3,0.4,0.5,”。)
答案1
是的,\fp_step_inline:nnnn
使用具有 16 位精度的十进制浮点值,因此,除非您需要超过 16 位有效数字,否则所有仅涉及可表示为十进制数的数字的值都应提供精确的结果。
但缺点是计算速度会比较慢。