AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kommazahlen

Ein Thema von LokutusvB · begonnen am 21. Nov 2014 · letzter Beitrag vom 24. Nov 2014
Antwort Antwort
Seite 1 von 2  1 2      
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#1

Kommazahlen

  Alt 21. Nov 2014, 12:54
Delphi-Version: 5
Hallo,

ich habe mir mal vor ein paar Jahren eine Funktion gebastelt, die mir von einer Kommazahl den Ganzzahlenwert und den Nachkommawert ausgibt (für weitere Berechnungen). Ich weiß, das ist mit Pos und Copy schnell gelöst. Gibt es aber vielleicht inzwischen in Delphi XE 2 bis 7 eine Funktion, die das automatisch ausgibt, wie z.B. bei einem Dateinahmen den Namen und die Endung?

Oder aber gibt es eine Funktion, die mir z.B. von einer Uhrzeit den Stunden- und Minutenwert zurückgeben kann, als Basis z.B. "03:30" oder "3,3"?
MFG
LokutusvB

Geändert von LokutusvB (21. Nov 2014 um 12:56 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Kommazahlen

  Alt 21. Nov 2014, 13:02
Gibt es aber vielleicht inzwischen in Delphi XE 2 bis 7 eine Funktion, die das automatisch ausgibt
Schau mal nach Trunc und Frac . Geht aber nur, wenn es schon als Zahl vorliegt. Bei einem String funktioniert das nicht.

Oder aber gibt es eine Funktion, die mir z.B. von einer Uhrzeit den Stunden- und Minutenwert zurückgeben kann, als Basis z.B. "03:30" oder "3,3"?
Schau dir mal die Unit DateUtils an. Dort sollten passende Funktionen vorhanden sein.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Kommazahlen

  Alt 24. Nov 2014, 08:05
Gibt es aber vielleicht inzwischen in Delphi XE 2 bis 7 eine Funktion, die das automatisch ausgibt, wie z.B. bei einem Dateinahmen den Namen und die Endung?
ExtractFileName
ExtractFileExt
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#4

AW: Kommazahlen

  Alt 24. Nov 2014, 08:12
ich habe mir mal vor ein paar Jahren eine Funktion gebastelt, die mir von einer Kommazahl den Ganzzahlenwert und den Nachkommawert ausgibt (für weitere Berechnungen). Ich weiß, das ist mit Pos und Copy schnell gelöst.
Da passt doch etwas nicht, merkst Du das? Pos und Copy sind Funktionen auf Strings, d.h. Zeichenketten. Aber eine 'Kommazahl' ist eine Zahl, die als Double, Extended, Real o.ä. abgelegt wird bzw. werden sollte.

Wenn Du also bisher nur mit Strings gearbeitet hast, wird es Zeit, dich mit den numerischen Datentypen und den damit verbundenen Funktionen auseinanderzusetzen.
Wenn Du dich aber mit numerischen Datentypen auskennst, dann verwende Sie.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Kommazahlen

  Alt 24. Nov 2014, 10:20
Gibt es aber vielleicht inzwischen in Delphi XE 2 bis 7 eine Funktion, die das automatisch ausgibt, wie z.B. bei einem Dateinahmen den Namen und die Endung?
ExtractFileName
ExtractFileExt
Ich glaub die Funktionen kennt der TE schon, es fehlten ihm nur die Funktionen, welche sowas für "Floats" machen.

Float als String ist natürlich blöde und da finge man dann mit Copy, Pos, Split oder sowas an.
Als Flieskommazahl, wären die äquivalenten Funktionen die bereits genannten Trunc und Frac, welche es schon vor Delphi gab (in Turbo Pascal).

Und nein, das Dezimaltrennzeichen ist nicht immer ein , , denn die Amis haben z.B. den Dezimalpunkt und kein Dezimalkomma, womit dein Programm in einem englischen Windows nicht funktionieren würde.
$2B or not $2B

Geändert von himitsu (24. Nov 2014 um 10:23 Uhr)
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#6

AW: Kommazahlen

  Alt 24. Nov 2014, 11:24
Da passt doch etwas nicht, merkst Du das?
Ja, ich habe nur schon einen Schritt weiter gedacht und diesen nicht mit aufgeschrieben. Das genannte Funktionen nur mit Strings funktionieren, ist mir klar und hatte ich als Voraussetzung nicht mit geschrieben.

An himitsu:
Genau. Diese sind mir sehr gut bekannt, nützen mir aber im Float-Bereich nicht die Bohne. Mit Copy und Pos habe ich bisher gearbeitet, ich hatte Hoffnung mittlerweile gibt es vielleicht eine Routine dafür.

An Jasocul:
Danke für die Tip, DateUtils schaue ich mir näher an.
MFG
LokutusvB
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#7

AW: Kommazahlen

  Alt 24. Nov 2014, 11:30
Die Hinweise auf Trunc und Frac scheinst Du übersehen zu haben, die machen genau das, was Du willst: Vor- und Nachkommaanteil liefern.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
LokutusvB

Registriert seit: 18. Jul 2006
277 Beiträge
 
Delphi XE6 Enterprise
 
#8

[Gelöst]AW: Kommazahlen

  Alt 24. Nov 2014, 11:45
Habe ich nicht. Frac liefert mir wieder eine Kommazahl, 0,XYZ. Da habe ich sie wieder, meine Kommazahl.

Der Hinweis auf DateUtils war die rettende Idee. MinuteOf und HourOf liefern mir genau das, was ich benötige, vielen Dank! So wandle ich meine Kommazahl in ein DateTime-bzw. Time-Format und lasse mir Stunde und Minute ausgeben.
MFG
LokutusvB
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Kommazahlen

  Alt 24. Nov 2014, 11:47
Warum speicherst Du Daten/Uhrzeiten in Strings?
Frac liefert den Zeitwert (TTIme = Double Nachkommawert)
Markus Kinzler
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Kommazahlen

  Alt 24. Nov 2014, 11:49
Ich glaube das fummeln mit der Nachkommastelle eines TDateTime war nur ein Umweg den er jetzt (zum Glück) nicht mehr gehen braucht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz