with Ada.Float_Text_IO; use Ada.Float_Text_IO; with Ada.Strings.UTF_Encoding.Wide_Wide_Strings; use Ada.Strings.UTF_Encoding.Wide_Wide_Strings; with Ada.Strings.Wide_Wide_Fixed; with LeseOptionen; -- Eventuell noch ein Zeichen für tausender Stellen hinzufügen? äöü package body UmwandlungenAdaEigenes is function ZahlAlsString (ZahlExtern : in GanzeZahl) return Wide_Wide_String is begin if ZahlExtern >= 0 then return Ada.Strings.Wide_Wide_Fixed.Trim (Source => ZahlExtern'Wide_Wide_Image, Side => Ada.Strings.Left); else return ZahlExtern'Wide_Wide_Image; end if; end ZahlAlsString; function KommazahlAlsString (KommazahlExtern : in Kommazahl) return Wide_Wide_String is begin Put (To => Kommazahlenstring, Item => Float (KommazahlExtern), Aft => 2, Exp => 0); return Ada.Strings.Wide_Wide_Fixed.Trim (Source => PunktOderKomma (ZahlenstringExtern => Decode (Item => Kommazahlenstring)), Side => Ada.Strings.Left); end KommazahlAlsString; function PunktOderKomma (ZahlenstringExtern : in Wide_Wide_String) return Wide_Wide_String is begin Zwischenspeicher := ZahlenstringExtern; ZahlenSchleife: for ZahlenSchleifenwert in Zwischenspeicher'Range loop case Zwischenspeicher (ZahlenSchleifenwert) is when '.' => Zwischenspeicher (ZahlenSchleifenwert) := LeseOptionen.Dezimaltrennzeichen; exit ZahlenSchleife; when others => null; end case; end loop ZahlenSchleife; return Zwischenspeicher; end PunktOderKomma; end UmwandlungenAdaEigenes;