Seite 2 von 3
Re: Ergebnis anzeigen Teil 2
Verfasst: 15.03.2010 22:07
von Kallewirsch
na sowas aber auch,
sagt mal......
warum wird bei Berechnung x100 gerundet und bei Berechnung x1000 nicht?
Hab ich gerade bemerkt.
Muss mich mal auf die Suche machen.
Re: Ergebnis anzeigen Teil 2
Verfasst: 15.03.2010 22:16
von dysti
...bei mir funktioniert es?
Re: Ergebnis anzeigen Teil 2
Verfasst: 15.03.2010 22:25
von Kallewirsch
Hi Dysti,
grüße Dich,
der Rechner soll aber beide male aufrunden.....und das tut er nicht, jedenfalls bei mir nicht.
Kallewirsch
Re: Ergebnis anzeigen Teil 2
Verfasst: 15.03.2010 22:31
von Kaeru Gaman
welche fünf zahlen hast du denn genommen...?
PS:
welchen sinn ergibt das eigentlich, beim aufaddieren ValD zu verwenden, wenn "Mittelwert" nur ne Long ist?
Re: Ergebnis anzeigen Teil 2
Verfasst: 16.03.2010 13:00
von dysti
Hallo erstmal,
welchen sinn ergibt das eigentlich, beim aufaddieren ValD zu verwenden, wenn "Mittelwert" nur ne Long ist?
Weil @Mok das in seinem Beispiel verwendet hat:
Code: Alles auswählen
Mittelwert$ = StrD( (ValD(GetGadgetText(#String_0)) + ValD(GetGadgetText(#String_1))) / 2)
und @Kallewirsch diesen Artikel in der Hilfe nicht gelesen hat:
Variablen, Typen und Operatoren
und somit ohne nachzudenken das übernommen hat.
der Rechner soll aber beide male aufrunden.....und das tut er nicht, jedenfalls bei mir nicht.
Ich kann auch nur wiederholen, was @Kaeru Gaman geschrieben hat:
welche fünf zahlen hast du denn genommen...?
Gebe mal ein Beispiel zum nachvollziehen.
Re: Ergebnis anzeigen Teil 2
Verfasst: 16.03.2010 13:08
von Kaeru Gaman
Mal völlig unabhängig davon, ob wir jetzt drauf warten wollen, ob die fünf Zahlen noch kommen, damit wir sehen können, obs vielleicht ein Overflow war oder was auch immer...
ich würde mal das:
Code: Alles auswählen
If GetGadgetState(#Option_1)
a1.d = Mittelwert / Teiler * 100
Else
a1.d = Mittelwert / Teiler * 1000
EndIf
; END Änderung
Mittel100 = Round(a1, #PB_Round_Up)
ändern zu dem:
Code: Alles auswählen
If GetGadgetState(#Option_1)
Mittel100 = Round(Mittelwert / Teiler * 100, #PB_Round_Up)
Else
Mittel100 = Round(Mittelwert / Teiler * 1000, #PB_Round_Up)
EndIf
damit bleibt der ganze Vorgang in der FPU, bis das Rounding abgeschlossen ist.
vielleicht behebt das ja schon das kleine Problem.
ansonsten wie immer, mit einer so völlig losgelösten Frage
warum wird bei Berechnung x100 gerundet und bei Berechnung x1000 nicht?
kann man wirklich nichts anfangen.
deswegen habe ich ja nach den fünf Werten gefragt.
... vielleicht dauert das auch so lange, weil er die fünf Zahlen selber nicht mehr weiß und seit Stunden verzweifelt versucht den Effekt zu reproduzieren...

Re: Ergebnis anzeigen Teil 2
Verfasst: 16.03.2010 19:03
von Mok
dysti hat geschrieben:
Weil @Mok das in seinem Beispiel verwendet hat:
Code: Alles auswählen
Mittelwert$ = StrD( (ValD(GetGadgetText(#String_0)) + ValD(GetGadgetText(#String_1))) / 2)
Was bitte ist falsch daran?
Rechne mal:
4.6 + 1.9 = 6.5
6.5 / 2 = 3.25 => StrD(), weil beim herkömmlichen Str() nur 3 rauskommen würde
Re: Ergebnis anzeigen Teil 2
Verfasst: 16.03.2010 19:22
von Kaeru Gaman
tja Moki, die Eingabe akzeptiert aber gar keine Kommata, und die Variable die's zusammenzählt ist auch Integer.
was eigentlich irgendwie
Schwachsinn ist, wieso akzeptiert
#PB_String_Numeric keine Kommata?
aber davon ab...
wenn man für alle fünf Werte 9999999 angibt, also das höchste was geht, wird der Mittelwert zwar korrekt ausgerechnet, aber MW*100 hat nen precision fehler, und MW*1000 nen Overflow.
ich halte es sowieso für fragwürdig, was ein Neueinsteiger mit dem ganzen Kokkolores will.
irgendwelche Ifs und Rounds und Elses und Fors übt man mit Debugger, bevor man sich den Eventkrempel um die Ohren schlägt.
aber was sollst, jeder ist seines Schmückes Glied....
Re: Ergebnis anzeigen Teil 2
Verfasst: 18.03.2010 00:01
von Kallewirsch
Hallo zusammen,
hier mal ne Stellungnahme von mir:
wer gemeint ist weis das bestimmt.
und @Kallewirsch diesen Artikel in der Hilfe nicht gelesen hat:

Zitat:
Variablen, Typen und Operatoren
Hab ich gelesen....aber so super informativ ist das für nen Neuling nicht.
ansonsten wie immer, mit einer so völlig losgelösten Frage
Zitat:
warum wird bei Berechnung x100 gerundet und bei Berechnung x1000 nicht?
Für Dich ist es natürlich eine so blöde "völlig losgelösten Frage"
... vielleicht dauert das auch so lange, weil er die fünf Zahlen selber nicht mehr weiß und seit Stunden verzweifelt versucht den Effekt zu reproduzieren.
Bestimmt nicht...es dauert nur solange weil ich auch noch meinem Job nachgehen muß.....hätte ich soviel Zeit wie Du könnte ich auch immer solche sinnlose Bemerkungen loswerden.Außerdem Suche ich selbst nach den Fehlern die in einem Code stecken und warte nicht bis mir jemand die Lösung zusteckt.
FAZIT:
Auf deine HFILFREICHEN Bemerkungen würde ich in Zukunft gerne verzichten!!!!!!!! Da habe ich von manch anderen schon mehr sinnvolle Hilfe und Erklärungen erhalten (Nimm Dir mal ein Beispiel an Pelagio und Dysti oder Mok) als von Dir. ABER DU BIST HIER JA SCHEINBAR DER CHEF!
Gruß an den der alles weiß und kleiner Gruß an die, die es noch nicht so beherschen.
Kallewirsch
Re: Ergebnis anzeigen Teil 2
Verfasst: 18.03.2010 01:11
von Kiffi
<OT>
@Kallewirsch: mit einer gewissen Faszination beobachte ich seit einiger
Zeit Deine beiden "Ergebnis anzeigen" - Threads, in denen Du bisher ja
reichhaltig mit Code versorgt wurdest. Und das mit einem Minimum an
Eigeninitiative Deinerseits.
Normalerweise praktizieren wir hier eher die Hilfe zur Selbsthilfe.
Neulinge werden so lange mit gezielten Informationen versorgt,
bis sie (möglichst früh) auf eigenen Beinen stehen können. Komplette
Codes sind hier eigentlich eher unüblich. Sieh es als besonderes
Willkommensgeschenk aller an den Threads beteiligten Helfer.
Um so mehr erstaunt es mich nun, dass Du glaubst, jemanden persönlich
angehen zu müssen, nur weil er (zu recht, wie ich finde) hinterfragt, ob
das alles so wirklich sinnvoll ist, was Du so in Deinem Code vor hast.
Ich würde Dich bitten, dieses Verhalten in Zukunft sein zu lassen.
</OT>