AGB  ·  Datenschutz  ·  Impressum  







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

String --> Single Single-->String

Ein Thema von DelphiManiac · begonnen am 18. Apr 2007 · letzter Beitrag vom 3. Mai 2007
Antwort Antwort
Seite 2 von 3     12 3      
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: String --> Single Single-->String

  Alt 18. Apr 2007, 10:47
Wenn Du dem spanischen ein wenig mächtig bist -> http://www.clubdelphi.com/foros/showthread.php?t=30929
Oder ein wenig einfacher:

Delphi-Quellcode:
function StrToSingle(St : String) : Single;
var
 Code : Integer;
begin
     Val(St,Result,Code);
end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#12

Re: String --> Single Single-->String

  Alt 18. Apr 2007, 10:59
Zitat von Klaus01:
Delphi-Quellcode:
function StrToSingle(St : String) : Single;
var
 Code : Integer;
begin
     Val(St,Result,Code);
end;

macht aus '1,2345678' eine 1
und aus '1.2345678' eine 1,2345677614212

edit: Wo ist nur Hagen (oder einer der andern Mathe/Zahlenprofi's) wenn man ihn mal brauch!?
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#13

Re: String --> Single Single-->String

  Alt 18. Apr 2007, 11:05
Könnte es sein, dass 1,2345678 als 1,2345677614212 gespeichert wird? Denn bekanntlicherweise sind float werte sowiso nur Nährerungswerte, und ungenau ...

Wenn es dir nur darum geht, eine kurze Zahl im String zu haben, kannst du sie ja auch mit 10000000 multiplizieren und runden
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#14

Re: String --> Single Single-->String

  Alt 18. Apr 2007, 11:12
Warum verfolgst du meine Idee nicht weiter? Einfach die binaere Repraesentation des Single in einen Hex-String verwandeln und wieder zurueck. Dabei geht kein Bit verloren.
Bei der Konversion von der binaeren Repraesentation ins Dezimalsystem ergeben sich zwingend Ungenauigkeiten. Jede Zahlendarstellung mit endlicher Stellenanzahl umfasst nur eine endliche Menge von Zahlen. Entsprechend gibt es im Zahlenraum viele Luecken. Bei verschiedenen Zahlendarstellungen (binaer, dezimal) sitzen die Luecken an unterschiedlichen Stellen. Bei der Umwandlung werden daher zwingend Zahlen die in eine Luecke fallen wuerden auf die naechstliegende Zahl geaendert.
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#15

Re: String --> Single Single-->String

  Alt 3. Mai 2007, 09:32
@Robert

Hi,
ich glaube das mit der Hexdarstellung werde ich so machen oder so ähnlich, aber mein Problem liegt ausserdem noch hier:

Benutzer gibt einen Fliesskommawert (Koeffizienten einer Polynomberechnung) ein in ein Textfeld,
diesen Wert muss ich als Single Wert abspeichern, d.h. von String nach Single,
jedoch kann Delphi, doch nur StrToFloat mit Extended.

Könnte ihr mir da irgendwie weiterhelfen???

Gruß
DelphiManiac
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: String --> Single Single-->String

  Alt 3. Mai 2007, 09:50
-- war nix, Frage missverstanden --
Klaus
Klaus
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#17

Re: String --> Single Single-->String

  Alt 3. Mai 2007, 10:09
Na hier greift einfach die Zuweisung. Mit der Ungenauigkeit muss man leben.
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#18

Re: String --> Single Single-->String

  Alt 3. Mai 2007, 10:50
@Robert


Hi, was meinst du mit :

Na hier greift einfach die Zuweisung. Mit der Ungenauigkeit muss man leben. Danke Dir!
  Mit Zitat antworten Zitat
DelphiManiac

Registriert seit: 5. Dez 2005
742 Beiträge
 
#19

Re: String --> Single Single-->String

  Alt 3. Mai 2007, 11:25
Könntet ihr mir eventuell erklären,

was der Paramter Precision (Genauigkeit) bei FloatToStrF
genau macht?

Angenommen ich habe einen Singlewert: 0.00000000000000123456789?


Gracias Community
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#20

Re: String --> Single Single-->String

  Alt 3. Mai 2007, 12:05
Zitat von DelphiManiac:
Angenommen ich habe einen Singlewert: 0.00000000000000123456789?
Es gibt keinen solchen Single-Wert. Die haben nämlich nur 7-8 signifikante Stellen.
Zitat von Die Delphi-Hilfe:
The Precision parameter specifies the precision of the given value. It should be 7 or less for values of type Single, 15 or less for values of type Double, and 18 or less for values of type Extended.
The Digits and Format parameters together control how the value is formatted into a string. For details, see the description of TFloatFormat.
Wer lesen kann...
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 14:25 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