![]() |
Wert in englischen Ordinalen Wert umwandeln
Manchmal, z.B. bei Rennen, muss man angeben, an welcher Position steht:
Zum Beispiel "1st", "4th"! Problem in der Englischen Sprache ist, dass nicht alle Ordinalen Werte mit "th" aufhören. Aber auch nicht alle X1 mit "st" (z.B. 11)... Deshalb habe ich dafür eine Funktion geschrieben. Sie erwartet den Integer, und gibt ihn als String wieder zurück (mit Ordinaler Endung). Wenn man den Boolean AOnlyExt auf wahr setzt (standard ist false), dann gibt es nur die Endung zurück: "th" statt "14th" Hier nun die Funktion:
Delphi-Quellcode:
[edit=fkerber]Für die CodeLib aufbereitet. Mfg, fkerber[/edit]
function GetOrdinalNumber(const ANumber : Integer; const AOnlyExt : Boolean = false) : string;
begin if not AOnlyExt then Str(ANumber, Result) else Result := ''; // Spezial: eleventh, twelfth, thirdteenth if ((ANumber mod 100) in [11..13]) then begin Result := Result + 'th'; end else begin case ANumber mod 10 of 1 : Result := Result + 'st'; 2 : Result := Result + 'nd'; 3 : Result := Result + 'rd'; else Result := Result + 'th'; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz