Freitag, 19. April 2024, 14:38 UTC+2

Sie sind nicht angemeldet.

  • Anmelden
  • Registrieren

Lieber Besucher, herzlich willkommen bei: INVESTOX-Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

1

Sonntag, 26. September 2010, 13:05

Gibt es ein Schlüsselwort, dass man für die Nachkommastellen beim Runden verwenden kann?

Hallo,

es geht um folgenden Befehl.
Prec(Daten, Nachkommastellen)

Man kann für jeden Titel eine individuelle Nachkommastellen angeben, aber das ist fehleranfällig, insbesondere wenn man HS kopiert und für andere Titel verwenden möchte. Es gibt das Schlüsselwort MinPriceChange, vielleicht kann man für die Nachkommastellen auch ein universell einsetzbares Schlüsselwort zur Verfügung stellen.

Vielleicht habe ich es aber auch nur übersehen. Gibt es da schon was?

Danke.

Viele Grüße
Sten

Bernd

Experte

Registrierungsdatum: 5. Juni 2005

Beiträge: 4 070

Wohnort: Iringsweg

2

Sonntag, 26. September 2010, 17:04

Du könntest die Nachkommastellen an ein VBScript runterreichen, dort mit len() die (String-) Länge bestimmen, 2 abziehen (für "0.") und das Ergebniss ans HS hochreichen. Müsste in etwa 5-10 Zeilen Coding passen.

(Oder jemand hier im Forum kennt eine mathematische Funktion, die man anwenden kann. Ich würde vermuten, dass die was mit log10 zu tun hat).
Gruss
Bernd

Lenzelott Männlich

Experte

Registrierungsdatum: 30. Dezember 2002

Beiträge: 3 051

Wohnort: Giessen

3

Sonntag, 26. September 2010, 19:13

Habe die Frage zwar nicht ganz verstanden aber wie wäre es, wenn Du auf #_MinPriceChange# rundest ?

vielleicht löst das ja Dein Problem?!

Quellcode

1
#_MinPriceChange# *int(DATEN/#_MinPriceChange# )
If you think it´s expensive to hire a professional, wait until you hire an amateur.

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

4

Montag, 27. September 2010, 13:02

Hallo,

Idee für ein neues Schlüsselwort: Digits ... so könnte der Name z.B. lauten, ähnlich wie bei MT
Es liefert die Anzahl der Nachkommastellen für den aktuellen Titel zurück.

Anwendung:
Prec(irgendEineBerechnung, #_Digits#) //der Ausdruck könnte dann generisch angewendet werden, egal ob auf 0,01 oder 0,001 oder 0,0001 gerundet werden soll

Ist nur so eine Idee.

Viele Grüße
Sten

sten

Experte

Registrierungsdatum: 6. September 2002

Beiträge: 2 879

5

Montag, 27. September 2010, 13:05

Hallo Lenzelott,

#_MinPriceChange# *int(DATEN/#_MinPriceChange# ) ... sorry, mit der Formel komme ich nicht ganz klar
Beispiel:
geg.:
#_MinPriceChange# ist 0,1
DATEN=10,16

ges.: gerundetes Ergebnis, d.h. 10,2

Berechnung:
10,16/0,1 --> 101,6
int(101,6) --> nimmt nur Ganzzahlwert = 101
0,1 * 101 --> 10,1 falsch

Hmm, wahrscheinlich muss man statt dem int() --> ROUND() nehmen
#_MinPriceChange# * ROUND(DATEN/#_MinPriceChange# )
10,16/0,1 --> 101,6
ROUND(101,6) --> rundet eine Zahl zu einer ganzen Zahl auf = 102
0,1 * 102 --> 10.2 okay

Vielen Dank Lenzelott. Du hast mich auf den richtigen Weg gebracht.
Ich denke so könnte man dann generisch Runden.

Viele Grüße
Sten

PS:
Diese Berechung funktioniert universell, egal ob die letzte Ziffer 0 bis 9 oder nur z.B. nur 0 oder 5 (wie beim FDAX) zulässt. Diese Berechung wäre dann eine sehr gute Alternative zu der Prec()-Methode.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »sten« (27. September 2010, 13:22)