Schrift
[thread]8177[/thread]

Ausgabe von Zahlen mit Tausenderpunkt?: Regex?



<< >> 9 Einträge, 1 Seite
Gast Gast
 2006-07-18 20:37
#68218 #68218
Hallo,

ich suche eine Routine, mit der ich eine beliebige Zahl - mal mit mal ohne Dezimalstellen - mit Tausenderpunkten versehen kann.

Danke und Gruss

Claus
renee
 2006-07-18 20:42
#68219 #68219
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Schau mal Wiki:hier
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
city2000
 2006-07-18 22:02
#68220 #68220
User since
2006-07-18
2 Artikel
BenutzerIn
[default_avatar]
danke, habe alle Variationen probiert, klappt bei Ganzzahlen auch ganz gut. Bei Dezimalzahlen allerdings, die aus meiner Datenbank kommt, wird kein Komma gesetzt, sondern ein Punkt, z.B. so 12.345.89 statt 12.235,89. Auch werden die Nullen der Dezimalstellen abgeschnitten, 123.5 statt 123,50

Gruss

city
city2000
 2006-07-18 22:32
#68221 #68221
User since
2006-07-18
2 Artikel
BenutzerIn
[default_avatar]
korrigiere mich:

die dritte Variante (subroutine taupi) setzt als einizige das Komma statt des Punkts bei den Dezimalzahlen.
Lediglich Dezimalnullen werden abgeschnitten.
Hilft mir aber schon viel weiter.

Vielen Dank
renee
 2006-07-19 00:31
#68222 #68222
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Um später die 0 zu haben, kannst Du ja sprintf verwenden...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
esskar
 2006-07-19 02:59
#68223 #68223
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=renee,18.07.2006, 22:31]Um später die 0 zu haben, kannst Du ja sprintf verwenden...[/quote]
wie macht er das? die zahl ist ja keine zahl mehr, sondern ein string! oder nicht?

(nicht getestet, sondern nur laut gedacht)
esskar
 2006-07-19 03:08
#68224 #68224
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=city2000,18.07.2006, 20:32]Lediglich Dezimalnullen werden abgeschnitten.[/quote]

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#! /usr/bin/perl

use strict;
use warnings;

sub taupu ($) {
  #--------------------------------------------------------------------------
  # sub          : t a u p u
  #--------------------------------------------------------------------------
  # Autor        : CD
  # Aufgabe      : Zahlen mit Tausendertrenner (".") ausgeben und Komma als
  #                Dezimaltrenner verwenden.
  #                (Kopiert aus dem Perl-Cook-Book und angepasst.)
  # Parameter    : Auszugebende Zahl
  # Rückgabewert : Zahl mit Punkten
  #--------------------------------------------------------------------------
  # 0.0.1 - 10.12.2002 - CD - Erstellt
  #--------------------------------------------------------------------------

  my $text = reverse $_[0];
  $text =~ s:\.:,:g; # deutsches Komma als Dezimaltrenner
  $text =~ s/(\d\d\d)(?=\d)(?!\d*,)/$1./g;
  return scalar reverse $text;
} # sub taupu

print taupu('109480238502985983509.670');


# 109.480.238.502.985.983.509,670\n\n

<!--EDIT|esskar|1153264170-->
renee
 2006-07-19 09:41
#68225 #68225
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=esskar,19.07.2006, 00:59][quote=renee,18.07.2006, 22:31]Um später die 0 zu haben, kannst Du ja sprintf verwenden...[/quote]
wie macht er das? die zahl ist ja keine zahl mehr, sondern ein string! oder nicht?

(nicht getestet, sondern nur laut gedacht)[/quote]
Sorry, ich war bei führenden Nullen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Crian
 2006-07-19 16:42
#68226 #68226
User since
2003-08-04
5871 Artikel
ModeratorIn
[Homepage]
user image
Schön, dass mein taupi so zu Ehren kommt =)
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 9 Einträge, 1 Seite



View all threads created 2006-07-18 20:37.