Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Wie Float/Numeric formatiert ausgeben? (https://www.delphipraxis.net/200402-wie-float-numeric-formatiert-ausgeben.html)

BlueStarHH 17. Apr 2019 09:34

Datenbank: Firebird • Version: 2.x • Zugriff über: SQL

Wie Float/Numeric formatiert ausgeben?
 
Ich habe ein Feld "Anzahl" das ist ein NUMERIC(18,4). Dieses soll zusammen mit der "Beschreibung" Varchar per SQL ausgegeben werden. Und zwar so

Code:
8 x Toast
3,6 x Milch
7,25 x Tomaten
Code:
select Anzahl || ' x ' || Beschreibung from Tabelle
Heraus kommt aber

Code:
8.0000 x Toast
3.6000 x Milch
7.2500 x Tomaten
Wie kann ich das Numeric-Feld per SQL so formatieren, dass Nullen nach dem Komma abgeschnitten werden und der Dezimaltrenner vom System genutzt wird?

mkinzler 17. Apr 2019 09:42

AW: Wie Float/Numeric formatiert ausgeben?
 
SQL-Code:
select CAST(Anzahl as NUMERIC(18,0)) || ' x ' || Beschreibung from Tabelle;

BlueStarHH 17. Apr 2019 09:58

AW: Wie Float/Numeric formatiert ausgeben?
 
Zitat:

Zitat von mkinzler (Beitrag 1430471)
SQL-Code:
select CAST(Anzahl as NUMERIC(18,0)) || ' x ' || Beschreibung from Tabelle;

Damit werden alle Nachkommastellen abgeschnitten. Das hilft also leider bei meinen Anforderungen nicht weiter.

haentschman 17. Apr 2019 10:18

AW: Wie Float/Numeric formatiert ausgeben?
 
Kurz und schmerzlos...8-)
Delphi-Quellcode:
FloatToStrF(Value, ffFixed, 8, DecimalPlaces)
http://docwiki.embarcadero.com/Libra...ls.FloatToStrF

PS: Die Formatierung der Ausgabe ist Aufgabe der GUI etc. und nicht die der Datenbank. :warn:

BlueStarHH 17. Apr 2019 10:28

AW: Wie Float/Numeric formatiert ausgeben?
 
Zitat:

Zitat von haentschman (Beitrag 1430477)
Kurz und schmerzlos...8-)
Delphi-Quellcode:
FloatToStrF(Value, ffFixed, 8, DecimalPlaces)
http://docwiki.embarcadero.com/Libra...ls.FloatToStrF

PS: Die Formatierung der Ausgabe ist Aufgabe der GUI etc. und nicht die der Datenbank. :warn:

Ich brauche eine SQL-Möglichkeit. Alles andere hilft mir nicht weil es in meinem konkrenten Anwendungsfall nicht möglich ist (Komponente ohne Source).

BlueStarHH 17. Apr 2019 10:38

AW: Wie Float/Numeric formatiert ausgeben?
 
Zitat:

Zitat von haentschman (Beitrag 1430477)
PS: Die Formatierung der Ausgabe ist Aufgabe der GUI etc. und nicht die der Datenbank. :warn:

Das geht auch nicht immer. Wenn Informationen aus mehereren Feldern in einem Feld zusammgefasst werden. Stichworte Group by / List() und dann Feld1 || ' x '|| Feld2. Wie will man das per Gui umformatieren?

haentschman 17. Apr 2019 10:57

AW: Wie Float/Numeric formatiert ausgeben?
 
Zitat:

Wie will man das per Gui umformatieren?
Beide Felder holen und in der Logik oder GUI zusammensetzen. :gruebel:
[Meine Meinung]
Der Datenbank soll es wurscht sein, wie die Daten auf der Oberfläche oder der Logik verarbeitet werden.
Zitat:

Alles andere hilft mir nicht weil es in meinem konkrenten Anwendungsfall nicht möglich ist
...lasse ich gelten. :wink:

peterbelow 17. Apr 2019 11:56

AW: Wie Float/Numeric formatiert ausgeben?
 
Zitat:

Zitat von BlueStarHH (Beitrag 1430469)
Ich habe ein Feld "Anzahl" das ist ein NUMERIC(18,4). Dieses soll zusammen mit der "Beschreibung" Varchar per SQL ausgegeben werden. Und zwar so

Code:
8 x Toast
3,6 x Milch
7,25 x Tomaten
Code:
select Anzahl || ' x ' || Beschreibung from Tabelle
Heraus kommt aber

Code:
8.0000 x Toast
3.6000 x Milch
7.2500 x Tomaten
Wie kann ich das Numeric-Feld per SQL so formatieren, dass Nullen nach dem Komma abgeschnitten werden und der Dezimaltrenner vom System genutzt wird?

Sieh mal hier: FreeAdhocUDF, da gibt es eine Funktion F_FIXEDPOINT, die eventuell nützlich für deinen Zweck ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:25 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