Mailinglist Archive: opensuse-programming-de (128 mails)

< Previous Next >
Re: Gleitkommazahlen
  • From: Boris Höffgen <hoeffgen@xxxxxxx>
  • Date: Fri, 04 Nov 2005 08:11:09 +0100
  • Message-id: <436B098D.3030104@xxxxxxx>
Christian Boltz wrote:
Hallo Boris, hallo Leute,

Am Donnerstag, 3. November 2005 14:05 schrieb Boris Höffgen:

Bodo Kaelberer schrieb:

Die Zahlen werden nach der Kommastelle abgeschnitten, z.B. aus 2,45
wird 2.00 und das ist eben nicht gefragt. Ich nutze direkt den
MySQL-Client auf der Konsole und nicht Perl oder PHP.

Trennst Du mit , oder ;? Sind die Zahlen in Anführungszeichen?

Eine Zeile im File sieht etwa so aus:
"2345","Das ist ein Text","2,45","bla"


Für Ersetzungen in Textdatei schlage ich üblicherweise sed vor - so auch, um das Komma bei "2,45" durch einen Punkt zu ersetzen - aber in diesem Fall (Komma auch als Feldtrenner) dürfte die RegEx reichlich kompliziert ausfallen. Naja, sei's drum, ungetestet:
sed 's/^\("[^"]*","[^"]*","[^"]*\)\.\([^"]*","[^"]*"\)/\1.\2/'

Stimmt, mit sed müsste es klappen. Das Obige funktioniert leider nicht, aber ich suche nach dem Fehler.


Die einfachere Lösung ist wohl, die Datei in OpenOffice aufzumachen (CSV-Import) und per "alle ersetzen" die Kommas durch Punkte zu ersetzen.


Hatte ich versucht, nur ist das File zu groß. Sind ca. 1E6 Einträge.

Gruß
Boris

< Previous Next >
List Navigation