AGB  ·  Datenschutz  ·  Impressum  







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

Zahl formatieren mit Format

Ein Thema von grenzgaenger · begonnen am 28. Jul 2007 · letzter Beitrag vom 29. Jul 2007
Antwort Antwort
grenzgaenger
(Gast)

n/a Beiträge
 
#1

Zahl formatieren mit Format

  Alt 28. Jul 2007, 20:50
Hallo Zusammen,

ich möchte gerne 'n float wert in einen string formatieren. dazu wollte ich gerne den format befehl verwendens := format('%7.2f',[zahl]); doch was kommt bei raus ... 1,234,5344.94 amerikanische notation! in den ländereinstellungen sind die tausendertrennzeichen und dezimaltrennzeichen definiert. mit floattostrf(zahl, ffnumber, 7, 2) erkennt er diese auch vernünftig. doch hat format mehr möglichkeiten, welche ich gerne nutzen möchte. weiss jemand von euch, an was es liegen könnt...?

dank für euere hilfe
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Zahl formatieren mit Format

  Alt 28. Jul 2007, 20:55
Moin Grenzgaenger,

Du hast nicht zufälliger Weise irgendewo die Variable DecimalSeparator auf . umgestellt?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#3

Re: Zahl formatieren mit Format

  Alt 28. Jul 2007, 21:27
hoi chris,

leider nicht. an anderer stelle hab ich ihn zwar mal verbogen, aber anschliessend auch wieder zurück... nur am deciamalseparator kanns aber nicht liegen, da er auch das tausendertrennzeichen falsch wählt , statt '

das merkwürdige dabei ist... bei den anderen formatroutinen wie formatfloat, floattostrf macht er das wieder richtig, nur beim format eben nicht...
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#4

Re: Zahl formatieren mit Format

  Alt 28. Jul 2007, 22:55
Hallo,

bist Du Dir sicher, das dass Ergebnis von Format kommt?

Das Argument '%7.2f' liefert eigentlich keine Tausendertrennzeichen,
oder hat sich da was in neueren Delphi-Versionen geändert?
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#5

Re: Zahl formatieren mit Format

  Alt 29. Jul 2007, 00:17
also, hab es nochmals ausprobiert, hierzu der folgende code:

Delphi-Quellcode:
program Project1;
{$APPTYPE CONSOLE}
uses
  SysUtils;

var
 x: currency;
begin
 x := 12343423.234;
 writeln(format('%f7.2',[x]));
 readln;
end.
dabei wird folgender output erzeugt, wie im Anhang sichtbar...

tja, ... viel kann man an den code schnippsel nicht verkehrt machen, oder?
Miniaturansicht angehängter Grafiken
unbenannt_183.gif  
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#6

Re: Zahl formatieren mit Format

  Alt 29. Jul 2007, 00:32
Hallo,

doch, %f7.2 oder %7.2f

Das bei %f7.2 und 12343423.234 das Ergebnis 12343423,237.2 rauskommt ist klar,
denn das Formatierungsargument ist in dem Fall nur %f die 7.2 wird als anzuhängenden Text interpretiert.
Dadurch das keine Wert für prec angegeben ist werden automatisch 2 Nachkommastellen ausgegeben.

[Werbung]FSCode-Producer 0.a[/Werbung]
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
grenzgaenger
(Gast)

n/a Beiträge
 
#7

Re: Zahl formatieren mit Format

  Alt 29. Jul 2007, 00:43
danke, in diesem fall, sass das problem vor dem bildschirm

danke, und noch einen schönen abend
  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 10:16 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