Zahlen in Variable einlesen

Brösel_the_real_on

Grünschnabel
Hei Ho.
Ich komme gerade von einem anderen Forum, die konnten oder wollten mir bei meinem Problem nicht helfen. Ich bin blutiger Anfänger und benutze Borland C++ Builder 5.
Ich möchte über ein Memo Feld Zahlen einlesen. Dies habe ich über folgenden Befehl geschafft: a=Memo7->Text.ToInt(); Die Variable habe ich am Programmanfang über Int a; definiert.
Integer kann ja nur ganze Zahlen verwalten. Ich möchte nun Dezimalzahlen in meiner Variablen a speichern können.
Könnt ihr mir helfen und vielleicht ein Codebeispiel geben?

THX Brösel
 
Fließkommazahlen werden in C/C++ durch die Datentypen float und double repräsentiert. Die Klasse AnsiString stellt analog zu ToInt() auch ein ToDouble() zur Verfügung, sodass folgendes möglich sein sollte:

double d = Memo7->Text.ToDouble();
 
Ich hab noch ne Frage. :)
Gibts ne Möglichkeit mit dem Datentyp Double die Dezimalzahlen zu runden?
Ich hab hier im Forum die möglichkeit mit float gelesen, ist es auch möglcih so etwas mit double zu machen?

THX Brösel
 
//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <math.hpp>

#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
double b;
double RoundDouble(double dValue, int iPrecision)
{
double dlPower10 = Power(10.0, iPrecision);
return dValue >= 0 ? floorl(dValue * dlPower10 + 0.5) / dlPower10 :
ceill(dValue * dlPower10 - 0.5) / dlPower10;
}
//---------------------------------------------------------------------------

double b = Memo10->Text.ToDouble();
Label19->Caption=RoundDouble(b, 2);


Dank der Page: http://www.marquardtnet.info/cecke/quickies.1/1_quicky_03.html
Bin ich auf das Ergebnis gestoßen, wie ich Runden kann.

In meinem Beispiel lade ich aus dem MemoFeld10 eine Variable in b ein und gebe sie dann bei Label19 gerundet aus.

Hier wird ein neuer Befehl definiert und zwar der RoundDouble(Variable, 2); Befehl.
Vriable=eine definierte Variable in meinem Beispiel b
Die 2 dahinter steht für die Nachkommastellen, also bei uns 2.

Weeha :D

THX to all

Brösel
 
Zuletzt bearbeitet:
Zurück