如何将毫(m)、飞(f)、微(u)单位的值读入浮点值

如何将毫(m)、飞(f)、微(u)单位的值读入浮点值

我有一个.csv文件,其中包含毫(m)、飞米(f)和微(u)等单位的值。我想将其作为浮点值进行处理pgfmathparse

\begin{filecontents*}{mycsv.csv}
Device, betaeff,    cbb,    cbd,    cbdbo,  cbg
nma,    384.242m,   10.1129f,   -371.143a,  -371.143a,  -16.1414f
nmb,    1.97148,    61.2938f,   -805.157a,  -805.157a,  -83.9924f
\end{filecontents*}
...
\begin{document}

...
\csvreader[head to column names, filter strcmp={\Device}{nma},]{mycsv.csv}{}{\betaeff}

我能够将\betaeff值读取为384.242m,但我想使用来处理此数据pgfmathparse。但我无法将其处理为值。

关于这些值的任何建议。

答案1

你试过吗siunitx?你可以设置包以忽略某些标记

\sisetup{input-ignore=afm}

并使用\num{\betaeff}\qty{\betaeff}{<unit-here>}或甚至\tablenum{\betaeff}(对于表格数据)来打印数字。

例子:

\begin{filecontents*}{mycsv.csv}
Device, betaeff,    cbb,    cbd,    cbdbo,  cbg
nma,    384.242m,   10.1129f,   -371.143a,  -371.143a,  -16.1414f
nmb,    1.97148,    61.2938f,   -805.157a,  -805.157a,  -83.9924f
\end{filecontents*}
\documentclass{article}
\usepackage{csvsimple}
\usepackage{siunitx}

\sisetup{input-ignore=afm}

\begin{document}
\csvreader[
head to column names,
filter strcmp={\Device}{nma},
]{mycsv.csv}{}{\tablenum{\betaeff}}

\num{123.456m}
\end{document}

这个想法实际上是基于文档

相关内容