我想使用以下命令
\newcommand{\Gewicht}[2]{
\pgfkeys{/pgf/number format/.cd, precision=8}
Volumen des Bauteils nach CAD: \SI{#1}{\cm^3}\\
Dichte: \SI{#2}{\kg\per\cm^3}\\
\pgfmathsetmacro{\Masse}{#1*#2}
Gewicht: $\SI{#1}{\cm^3} \cdot \SI{#2}{\kg\per\cm^3}$ = \SI[round-mode=places, round-precision=4]{\Masse}{\kg}\\
\begin{flushright}
\underline{\SI[round-mode=places, round-precision=4]{\Masse}{\Kg}}
\end{flushright}
\pgfmathsetmacro{\Gesamt}{\Masse*\Anzahl}
\immediate\write\weightfile{\Bauteilname & \Anzahl & \num[round-mode=places, round-precision=4]{\Gesamt} \detokenize{\\ \hline}}
\pgfmathsetmacro{\Flugzeuggewicht}{\Flugzeuggewicht+\Gesamt}
}
如果我现在运行\Gewicht{705.5634}{0.0027}
\Masse 是 1.9056,则四舍五入后应该是 1.9050。我知道这是由于 flowtigpoint 精度造成的。我不知道是否有办法解决这个问题。我怎样才能得到精确到小数点后 4 位的结果。
附言:浮点运算的数字不应该精确到小数点后第五位吗?
答案1
这个xfp
软件包实际上就是为这种计算而制作的。