AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Wie Float/Numeric formatiert ausgeben?

Wie Float/Numeric formatiert ausgeben?

Ein Thema von BlueStarHH · begonnen am 17. Apr 2019 · letzter Beitrag vom 17. Apr 2019
Antwort Antwort
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
540 Beiträge
 
Delphi 10.3 Rio
 
#1

Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 09:34
Datenbank: Firebird • Version: 2.x • Zugriff über: SQL
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?

Geändert von BlueStarHH (17. Apr 2019 um 09:59 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.203 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 09:42
select CAST(Anzahl as NUMERIC(18,0)) || ' x ' || Beschreibung from Tabelle;
Markus Kinzler
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
540 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 09:58
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.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.080 Beiträge
 
Delphi 10.1 Berlin Professional
 
#4

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10:18
Kurz und schmerzlos...
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.
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
540 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10:28
Kurz und schmerzlos...
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.
Ich brauche eine SQL-Möglichkeit. Alles andere hilft mir nicht weil es in meinem konkrenten Anwendungsfall nicht möglich ist (Komponente ohne Source).
  Mit Zitat antworten Zitat
BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
540 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10:38
PS: Die Formatierung der Ausgabe ist Aufgabe der GUI etc. und nicht die der Datenbank.
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?
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
4.080 Beiträge
 
Delphi 10.1 Berlin Professional
 
#7

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10:57
Zitat:
Wie will man das per Gui umformatieren?
Beide Felder holen und in der Logik oder GUI zusammensetzen.
[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.

Geändert von haentschman (17. Apr 2019 um 11:08 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
141 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 11:56
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.
Peter Below
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf