AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Prism Fließkommazahlen Delphi vs. Oracle
Thema durchsuchen
Ansicht
Themen-Optionen

Fließkommazahlen Delphi vs. Oracle

Ein Thema von Raffigator · begonnen am 4. Jun 2007 · letzter Beitrag vom 4. Jun 2007
 
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#2

Re: Fließkommazahlen Delphi vs. Oracle

  Alt 4. Jun 2007, 09:57
Zitat von Raffigator:
Ich möchte über eine Delphi-Anwendung Fließkommazahlen in einer Oracle-Datenbank speichern. Oracle erwartet einen '.' als Trennzeichen, während Delphi das ',' benutzt.
Hi,
so ganz richtig ist das nicht. Eigentlich zeigt das aus schon, dass Du auf den National Language Support zurückgreifst. An sich benutzen sowohl Delphi als auch Oracle einfach lokalisierte Einstellungen. Delphi greift dabei immer auf die Einstellungen unter Windows zurück. I.d.R. wirst Du in Deutschland Rechner mit deutscher Lokalisierung finden und hier ist eben das Komma der Dezimalseperator. Wichtig ist, dass Du Dich eigentlich nie auf diesen verlassen solltest. Das man selbst einen solchen Rechner verwendet heißt natürlich nicht, dass alle Rechner auf denen das Programm einmal läuft ebenfalls diesen Dezimalseperator verwenden. So kann ein Kunde durchaus einen englisch lokalisierten haben, der erwartet dann den Dezimalpunkt (und natürlich kommen noch ganz andere Dinge in Frage).
Deshalb greift man häufig auf eine einheitliche Lokalisierung zurück, damit eine Datei auf einem dt. Rechner gespeichert und problemfrei auf einem eng. geladen werden kann und vice versa.

Dafür gibt es spezielle Strukturen, die Informationen über die bei einer Konvertierung zu verwendenden Einstellungen enthalten. Unter Delphi.Win32 währen das TFormatSettings, unter .net findest Du Implementierungen des IFormatProvider-Interface. In Deinem Fall die Klasse NumberFormatInfo und hier die Eigenschaft numberDecimalSeperator. Erzeuge hier eine neue Instanz, setz den Dezimalseperator und übergib diese Instanz dann an die toString Methode als zweites Argument (erstes ist weiterhin die zu konvertierende Zahl).

Gruß Der Unwissende
  Mit Zitat antworten Zitat
 


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