AGB  ·  Datenschutz  ·  Impressum  







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

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: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#1

Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10: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 10:59 Uhr)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10: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: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 10: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
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 11: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: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 11: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: Hamburg
849 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 11: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
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#7

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 11: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 12:08 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
702 Beiträge
 
Delphi 12 Athens
 
#8

AW: Wie Float/Numeric formatiert ausgeben?

  Alt 17. Apr 2019, 12: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
Antwort Antwort


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 12:10 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