AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie wandle ich Double nach String um?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie wandle ich Double nach String um?

Ein Thema von AlexII · begonnen am 29. Sep 2008 · letzter Beitrag vom 29. Sep 2008
Antwort Antwort
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 22:53
IntToStr und
FloatToStr ist klar aber wie wandle ich Double um?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 22:56
FloatToStr passt
Edit: Bei Bedarf Delphi-Referenz durchsuchenFloatToStrF...
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#3

Re: Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 22:59
Delphi-Quellcode:
var a: double;
begin
     a := pi;
     caption := FloatToStr(a);
end;
Double gehört zu den Gleitkommazahlen (floats)

[EDIT]Nur zu langsam, weil ich's noch getestet habe ... spät abends lieber nochmal sichergehen [/EDIT]

MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#4

Re: Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 22:59
Also hab folgenden Code

Delphi-Quellcode:
function RundeAufStelle(zahl: double; stellen: integer): double;
var multi: double;
begin
  multi:=IntPower(10, stellen);
  zahl:=round(zahl*multi);
  result:=zahl/multi;
end;

procedure TForm1.Note;
var note: Real;
begin
if (FiCountCorrect=0) and (jkeins=1) and (jkzwei=1) then
begin
note:=7;
end else if (FiCountCorrect=0) and (jkeins=1) then
         begin
         note:=65/10;
         end else if (FiCountCorrect=0) and (jkzwei=1) then
                  begin
                  note:=65/10;
                  end else if (FiCountCorrect=0) then
                           begin
                           note:=0;
                           end else if (jkeins=1) then
                                    begin
                                    note:=RundeAufStelle(note+1/2, 1);
                                    end else if (jkzwei=1) then
                                             begin
                                             note:=RundeAufStelle(note+1/2, 1);
                                             end else note:=RundeAufStelle(note-5/15, 1);
Label7.Caption:=FloatToStr(note);
end;
Hier stimmt aber mit den DatenTypen irgendwas nicht stehe auf dem Schlauch und weiß nicht. Wenn ich die Variable note auf Double stelle ändert sich nix.

Bekomme zu dem noch diese Warnung: "[Warnung] MAIN.pas(134): Variable 'note' ist möglicherweise nicht initialisiert worden" Hatte eigentlich noch nie Probleme mit Variablen.
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#5

Re: Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 23:26
Delphi-Quellcode:
procedure TForm1.Note;
var note: Real;
begin
if (FiCountCorrect=0) and (jkeins=1) and (jkzwei=1) then
begin
note:=7;
end else if (FiCountCorrect=0) and (jkeins=1) then
         begin
         note:=65/10;
         end else if (FiCountCorrect=0) and (jkzwei=1) then
                  begin
                  note:=65/10;
                  end else if (FiCountCorrect=0) then
                           begin
                           note:=0;
                           end else if (jkeins=1) then
                                    begin
                                    note:=RundeAufStelle({-->}note{<--}+1/2, 1); // note ist undefiniert
                                    end else if (jkzwei=1) then
                                             begin
                                             note:=RundeAufStelle({-->}note{<--}+1/2, 1); // note ist undefiniert
                                             end else note:=RundeAufStelle({-->}note{<--}-5/15, 1); // note ist undefiniert
Label7.Caption:=FloatToStr(note);
end;
Zitat von AlexII:
Bekomme zu dem noch diese Warnung: "[Warnung] MAIN.pas(134): Variable 'note' ist möglicherweise nicht initialisiert worden" Hatte eigentlich noch nie Probleme mit Variablen.
Ich hab mal die Stellen gekennzeichnet, wo note evtl. undefiniert ist, da die Anweisung, die auf note zugreift, nur im else-Teil einer Bedingungen steht und die Zuweisung eines Wertes aber nur ausgeführt wird, wenn die Bedingung erfüllt ist.

Für die Logik sollte es keinen Unterschied machen, ob du real oder double benutzt, da ändert sich imho nur die Genauigkeit.

MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 23:34
Und wie kann man das lösen?
  Mit Zitat antworten Zitat
AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Wie wandle ich Double nach String um?

  Alt 29. Sep 2008, 23:44
Ich hab's Danke euch!
  Mit Zitat antworten Zitat
Antwort Antwort


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:48 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