Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Delphi 7 - SQL - formátovanie desatinného čísla

Ja už neviem ako ináč Ti to mám polopatisticky napísať...

Format() potrebujem, aby formátoval pre Slovensko
formátuje to tak, ako je nastavené lokálne prostredie vo Windows !!!

či je nejaká možnosť ako vynútiť vo Format() formátovanie desatinných čísel s desatinnou bodkou
áno je nejaká možnosť - použiješ TFormatSettings !!!

function Format ( Const Formatting : string; Const Data : array of const; FormatSettings : TFormatSettings ) : string;
niekoľko príkladov som napísal, stále nechápem čo je pre Teba zložité: "Ak mám meniť nastavenia, tak je pre mňa rýchlejšie použiť Str() upravené pre použitie ako funkcia."

function Float2String(r: Real): String;
var
  fs: TFormatSettings;
begin
  fs.DecimalSeparator:='.';
  Result := FormatFloat('### ###.##', r, fs);   //môžeš použiť miesto FormatFloat aj Tvoje obľúbené Format
end;
Ako desatinná bodka sa použije len v tejto upravenej funkcii, nikde inde to nebude mať vplyv !!!

Ak je pre Teba rýchlejšie a jednoduchšie použiť Str(), tak ho používaj, ukázal som Ti ako sa to dá pomocou Format resp. FormaFloat, ale ak nechápeš, alebo nie si schopný pochopiť čo Ti tu stále vysvetľujem, potom je mi ľúto.

Edit:

Skús si sám:

var
  fs : TFormatSettings;
begin
  fs.DecimalSeparator:='.';
  ShowMessage(Format('Fixed            = %f', [12345.678]));      //vypíše podľa lokálneho nastavenia Windows u mňa je to čiarka
  ShowMessage(Format('Fixed            = %f', [12345.678],fs));   //vypíše sa s bodkou, pretože som použil ako parameter fs (TFromatSettings - desatinný odeľovač=bodka
  ShowMessage(Format('Fixed            = %f', [12345.678]));      //vypíšeš opäť s čiarkou
end;

Reakce na odpověď

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny