AGB  ·  Datenschutz  ·  Impressum  







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

Gleitkommazahl abschneiden

Ein Thema von Meflin · begonnen am 4. Dez 2004 · letzter Beitrag vom 4. Dez 2004
Antwort Antwort
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#1

Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:32
Hi,
ich habe eine gleitkommazahl (die einen prozentwert darstellt). von dem möchte ich aber nur die ersten 4 nachkommastellen anzeigen! auf 4 stellen runden ist recht arbeitsintensiv (zumindest wenn das tool selber ne menge resourcen braucht, und das tut es). also will ich einfach nur alles hinter der 4. Nachkommastelle abschneiden.
Nun meine frage: wie macht man das?

*MFG*
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:34
Ich würde die Zahl in einen String umwandeln, mit pos() nach dem Komma suchen und alles, was nach einer bestimmteen ANzahl Ziffern kommt, löschen.
Danach natürlich das ganze wieder in einen Fließkommawert umwandeln.
Julian J. Pracht
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#3

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:35
Delphi-Quellcode:
var M : Real;
begin
  M := 12.343234234;
  Form1.Caption := FloatToStrF(M,ffNumber,4,4);
sollten vorne aber nicht zuviele stellen sein
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Nothine
Nothine

Registriert seit: 3. Jul 2004
Ort: Mülheim an der Ruhr
198 Beiträge
 
Delphi 5 Enterprise
 
#4

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:37
Delphi-Quellcode:
function Abschneiden(X: Extended): Extended;
begin
  Result := Int(X*10000)/10000;
end;
if ThisPost is senseless then
ThisPost.WasPostedBy := SomeoneElse();
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#5

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:39
Zitat von Nicodius:
Delphi-Quellcode:
var M : Real;
begin
  M := 12.343234234;
  Form1.Caption := FloatToStrF(M,ffNumber,4,4);
sollten vorne aber nicht zuviele stellen sein
nett... und was sind die letzten zwei parameter?
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:40
aus der OH --> Delphi-Referenz durchsuchenFloatToStrF

Zitat:
Beschreibung

FloatToStrF konvertiert die mit Value angegebene Gleitkommazahl in die entsprechende String-Darstellung.

Value ist der zu konvertierende Wert.
Precision legt die Genauigkeit des angegebenen Wertes fest. Sie sollte bei Werten des Typs Single bis zu 7, bei Werten des Typs Double bis zu 15 und bei Werten des Typs Extended bis zu 18 Stellen betragen.
Die Parameter Digits und Format steuern zusammen, wie die Formatierung in einen String erfolgt. Genaue Informationen hierzu finden Sie bei der Beschreibung von TFloatFormat.
Nico Müller
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#7

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 12:42
perfect, thx
und es sind vorne auch nicht zu viele stellen ein prozentwert hat "vorne" höchstens 3... zumindest meistens
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Gleitkommazahl abschneiden

  Alt 4. Dez 2004, 13:13
dann passts
Nico Müller
  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 09:45 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