Seite 1 von 1

Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 09:53
von ManfredK
Hallo,

Ich habe heute eine seltsame Entdeckung gemacht.

Kann mir jemand erklären, wie WsWin auf diese Ergebnisse kommt? Die Berechnung wurde am 19.09.2021 10:45 durchgeführt.

Code: Alles auswählen

%ws_calc[-]=%ws_year%%ws_month2%%ws_day2%~1~0%
%ws_calc[-]=%ws_year%%ws_month2%%ws_day2%~2~0%

%ws_calc[*]=%ws_year%%ws_month2%%ws_day2%~1~0%
%ws_calc[*]=%ws_year%%ws_month2%%ws_day2%~2~0%

%ws_year%%ws_month2%%ws_day2%

%ws_year%
%ws_month2%
%ws_day2%
%ws_day%
Ergebnis:

Code: Alles auswählen

20210920
20210918

20210920
40421840

20210919

2021
09
19
19
Bin für eure Unterstützung dankbar.

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 13:17
von Tex
bis auf die 1. Ergebnis-Zeile ist ja alles korrekt - eine Erklärung habe ich auch nicht. :oops:

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 15:02
von ManfredK
Bist du dir sicher?
Ich würde meinen, dass die ersten 4 Ergebnisse falsch sind.

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 15:10
von Tex
Stimmt! aber warum... ???

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 16:15
von ManfredK
Tex hat geschrieben: 19 Sep 2021 15:10 Stimmt! aber warum... ???
Wäre es möglich, dass auf deinem Rechner zu überprüfen, auf welches Ergebnis dein WsWin kommt?
Dank im Voraus.
Ich habe auf meinem Rechner 2 Instanzen laufen, und beide kommen auf das hier angegebene falsche Ergebnis...

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 16:53
von Werner
@Manfred,

Ich vermute, es dürfte an der gewählten Ansicht liegen - > 24 Stunden-Tages-Ansicht.
Wenn Du auf normale Tages-Ansicht umstellst, dürfte Deine Berechnung
wieder stimmen.

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 17:54
von Tex
Nee, auch diese Variante mit den echten Zahlen klappt nicht:

%ws_setmem[1]=20210919%
%ws_calc[-]=%ws_getmem[1]%~1~0%<br>
%ws_calc[-]=%ws_getmem[1]%~2~0%<br>

%ws_calc[*]=%ws_getmem[1]%~1~0%<br>
%ws_calc[*]=%ws_getmem[1]%~2~0%<br>

Ich glaube 8-stellig hatte ich auch schon Probleme mit...

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 21:37
von ManfredK
Werner hat geschrieben: 19 Sep 2021 16:53 @Manfred,

Ich vermute, es dürfte an der gewählten Ansicht liegen - > 24 Stunden-Tages-Ansicht.
Wenn Du auf normale Tages-Ansicht umstellst, dürfte Deine Berechnung
wieder stimmen.
Hallo Werner,
Wie gesagt liefern bei mir beide Instanzen das falsche Ergebnis.
Eine Instanz läuft mit normaler Ansicht, und die zweite mit 24h-Ansicht.

Re: Berechnung fehlerhaft?

Verfasst: 19 Sep 2021 21:48
von Tex
@Manfred

Auch mit den realen Zahlen statt der Variablen kommt das gleiche (falsche) Ergebnis raus. Ich meine mich zu erinnern, daß ich schon mal mit 8-stelligen Zahlen schwierigkeiten hatten.

Re: Berechnung fehlerhaft?

Verfasst: 20 Sep 2021 07:19
von ManfredK
Hallo Tex,

Genau das ist das Problem.
Ich habe jetzt das Jahr auf 2 Stellen gekürzt, und jetzt stimmt die Berechnung.

Vielen Dank!

Re: Berechnung fehlerhaft?

Verfasst: 20 Sep 2021 09:54
von Tex
Lösung mit kompletter Jahreszahl:

%ws_setmem[1]=%ws_cutstr=1~2~%ws_year%%%
%ws_setmem[2]=%ws_getmem[1]%%ws_month2%%ws_day2%%

20%ws_calc[-]=%ws_getmem[2]%~1~0%<br>
20%ws_calc[-]=%ws_getmem[2]%~2~0%<br>

20%ws_calc[*]=%ws_getmem[2]%~1~0%<br>
20%ws_calc[*]=%ws_getmem[2]%~2~0%<br>

Re: Berechnung fehlerhaft?

Verfasst: 20 Sep 2021 15:56
von ManfredK
Hallo Tex,

:)
Da hast du WsWin jetzt schön ausgetrickst.

Re: Berechnung fehlerhaft?

Verfasst: 20 Sep 2021 16:03
von Werner
Ich möchte anmerken, dass für Tagesberechnungen diese Variable
die bessere Wahl ist:
bestimmtes rel. Datum %ws_datex[xxx~dd~mm~yyyy]%
bestimmtes rel. Datum %ws_datex[-2~25~12~0000]% (Beispiel)

Wenn man dann so ein Ergebnis yyyymmdd benötigt, kann man es ja entsprechend
umstellen.

Zum Anzahl-Problem;
Ich hab im Programm-Code nachgesehen, es werden max. zusätzliche 5 Stellen kontrolliert ;)
Diese 5 Zeichen sind aber, dass eventuell vorhandene Einheiten-Zeichen ignoriert werden.
Tatsächlich liegt es daran, dass hier bei der Wandlung nur der Single-Typ verwendet wurde.
Notwendig ist aber in diesem Fall (8 Zeichen) hier der Double-Typ

Ich hab das jetzt im Programm geändert.