Google 网上论坛不再支持新的 Usenet 帖子或订阅项。历史内容仍可供查看。

Rechnen mit fp - unerklärliches Rechenergebnis

已查看 9 次
跳至第一个未读帖子

Alfred Neumann

未读,
2021年12月7日 05:08:122021/12/7
收件人
Moin zusammen,

ich versuche, in einer Tabelle mit fp Berechnungen durchzuführen.
Es werden Teilstrecken-km eingegeben, daraus sollen die Tages-km und der
jeweilige Gesamtstand ermitteln werden.

Für die Zwischensumme klappt das ganz gut, leider zeigt die
Gesamtstrecke für mich unerklärliche Werte. Orientiert habe ich mich am
Beispiel in:
<http://tex.stackexchange.com/questions/9567/name-scoping-issue-probably>

Vielleicht kann mir jemand auf die Sprünge helfen.
Danke.

Hier mein Minimalbeispiel:
%------------------------------------
\documentclass{article}
\usepackage[autolanguage]{numprint}
\usepackage[debug]{fp}
\usepackage{booktabs}

\FPset\total{0} % für Gesamtstand
\FPset\zwisum{0} % für Zwischenstand
%
\newcommand{\etappe}[1]{%
\FPeval\total{round(#1:0)}
\FPprint{#1} mi
% aufsummieren, global verfügbar machen nach
%
http://tex.stackexchange.com/questions/9567/name-scoping-issue-probably
\FPadd\zwisum\zwisum{#1}\global\let\zwisum\zwisum
\FPadd\total\total{#1}\global\let\total\total
}
%
\newcommand{\teilsumme}{%
\FPeval\zwisum{round(zwisum:0)}
\FPprint\zwisum{} mi%
% teilsumme nach Aufruf auf Null zurücksetzen
\FPset\zwisum{0}\global\let\zwisum\zwisum
}
%
\newcommand{\gesamt}{%
\FPeval\total{round(total:0)}
\FPprint\total{} mi%
}
%
\begin{document}
\begin{tabular}{@{}crrr@{}}
Ort & Teilstrecke & Zwischensumme & Gesamtstrecke \\\toprule
A & \etappe{5} & & \\
& & \teilsumme & \gesamt \\\midrule
B & \etappe{6} & & \\
C & \etappe{7} & & \\
& & \teilsumme & \gesamt \\\midrule
D & \etappe{8} & & \\
E & \etappe{9} & & \\
F & \etappe{10} & & \\
& & \teilsumme & \gesamt \\\bottomrule
\end{tabular}

\bigskip
%--- Ermitteln der Gesamtstrecke in km --------------------------
%--- Tabellenergebnis außerhalb der Tabelle verwenden
\FPset\geskm{0} % geskm definieren
{\Large Gesamtstrecke:
\FPmul{\geskm}{\total}{1.609} % Umrechung mi -> km
\FPtrunc\geskm\geskm{0} % keine Nachkommastellen
\FPprint\gesamt{} = \FPprint\geskm{} km
}

\end{document}




Tobias Dussa

未读,
2021年12月7日 05:45:042021/12/7
收件人
Moinsen,

Alfred Neumann <al.ne...@web.de> writes:
> \newcommand{\etappe}[1]{%
> \FPeval\total{round(#1:0)}
> \FPprint{#1} mi
> % aufsummieren, global verfügbar machen nach
> % http://tex.stackexchange.com/questions/9567/name-scoping-issue-probably
> \FPadd\zwisum\zwisum{#1}\global\let\zwisum\zwisum
> \FPadd\total\total{#1}\global\let\total\total
> }

Ohne mich jetzt allzu tief da reingearbeitet zu haben, würde ich auf den
ersten Blick sagen:
Ein Aufruf von \etappe setzt \total auf #1 und addiert dann nochmal #1
dazu, also ist nach jedem Aufruf von \etappe der Gesamtzähler zweimal
der aktuelle Wert. Ich glaube, das \FPeval am Anfang des Makros willst
du da nicht haben.

Cheers,
Toby.
--
Pi is equal to 3 for sufficiently large values of 3, or sufficiently
small values of Pi.

Alfred Neumann

未读,
2021年12月7日 06:28:102021/12/7
收件人
Am 07.12.2021 um 11:32 schrieb Tobias Dussa:
> Moinsen,
>
> Alfred Neumann <al.ne...@web.de> writes:
>> \newcommand{\etappe}[1]{%
>> \FPeval\total{round(#1:0)}
>> \FPprint{#1} mi
>> % aufsummieren, global verfügbar machen nach
>> % http://tex.stackexchange.com/questions/9567/name-scoping-issue-probably
>> \FPadd\zwisum\zwisum{#1}\global\let\zwisum\zwisum
>> \FPadd\total\total{#1}\global\let\total\total
>> }
>
> Ohne mich jetzt allzu tief da reingearbeitet zu haben, würde ich auf den
> ersten Blick sagen:
> Ein Aufruf von \etappe setzt \total auf #1 und addiert dann nochmal #1
> dazu, also ist nach jedem Aufruf von \etappe der Gesamtzähler zweimal
> der aktuelle Wert. Ich glaube, das \FPeval am Anfang des Makros willst
> du da nicht haben.

Danke, das war's!

Dr Eberhard Lisse

未读,
2021年12月8日 09:59:042021/12/8
收件人
Gruss aus dem Süden,

wär das nicht etwas für LUA?


mfg, el
--
To email me replace 'nospam' with 'el'

Alfred Neumann

未读,
2021年12月9日 11:20:392021/12/9
收件人
Am 08.12.2021 um 15:59 schrieb Dr Eberhard Lisse:
> Gruss aus dem Süden,
>
> wär das nicht etwas für LUA?

Ich habe zwar gelesen, dass Rechnen eine Sache für LUA wäre. Für mich
ist aber ziemliches Neuland. Mal sehen, vielleicht riskiere ich doch mal
einen Blick.

Alfred
0 个新帖子