Schrift
[thread]7198[/thread]

1000er Trennzeichen

Leser: 2


<< >> 8 Einträge, 1 Seite
ppm1
 2005-08-10 02:16
#57083 #57083
User since
2003-09-14
142 Artikel
BenutzerIn
[default_avatar]
Hallo

Wie kann man am einfachsten bei einer sehr großen anzahl an Zahlen, ob nun als STring oder Array vorliegen ist mal egal, immer ein Tausender Trennzeichen einfügen:

z.B.

Zahl: 1234567
soll zu:
1.234.567
oder zu 1,234,567
oder zu 1`234`567
oder ähnliches werden...

Wie mache ich das, dass es möglichst wenig belastend ist...

Danke für eure Hilfe
coax
 2005-08-10 03:21
#57084 #57084
User since
2003-08-11
457 Artikel
BenutzerIn
[default_avatar]
Die Frage hat es erst vor 10 Tagen gegeben Tausenderpunkt in Zahl einfügen.
,,Das perlt aber heute wieder...'' -- Dittsche
J-jayz-Z
 2005-08-12 03:38
#57085 #57085
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hier mal ein Modulansatz:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package thousands;

sub new($) {
my ($class, $number) = @_;
my $self = [];
push @{$self}, $number;
return bless $self, $class;
}

sub thousand_points($) {
my $self = shift;
my $number = $self->[0];
my ($new_number, $comma) = split(/[,.]/, $number, 2);
$new_number = reverse $new_number;
$new_number =~ s/(\d{3})(?=\d)/$1./g;
return reverse($new_number).",".$comma;
}

1;

Man kann ja etwas weiter daran rumbasteln, ich weiß nicht, ob es sowas bereits auf CPAN gibt. Beziehungsweise, was man da noch mit einbauen kann. Hat vielleicht jemand ne Idee?
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
vayu
 2005-08-12 11:59
#57086 #57086
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
ist das wieder eine aufgabe aus ner uni oder so? :)

immer wenn es ne schwemme von threads mit den gleichen problemen kommt gabs da irgendwo ne aufgabe zu :D
renee
 2005-08-12 12:27
#57087 #57087
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich habe mal nen Wiki:Artikel daraus gemacht...
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/
pq
 2005-08-12 19:21
#57088 #57088
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
J-jayz-Z: ohne dich jetzt demotivieren zu wollen, aber objekt-orientierung finde
ich hier mit kanonen auf spatzen geschossen.
außerdem würde ich statt eines arrays einfach einen skalar als $self bevorzugen.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
J-jayz-Z
 2005-08-12 19:59
#57089 #57089
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Jo, ich weiß.
Deshalb hatte ich ja auch gefragt, ob noch jemand weiß, was man da noch einbauen kann...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de
betterworld
 2005-08-12 22:49
#57090 #57090
User since
2003-08-21
2614 Artikel
ModeratorIn

user image
[quote=pq,12.08.2005, 17:21]außerdem würde ich statt eines arrays einfach einen skalar als $self bevorzugen.[/quote]
Muesste das dann nicht zumindest eine Referenz auf eine Referenz auf die Zahl sein, damit man es anständig blessen kann?

Edit: ach quatsch\n\n

<!--EDIT|betterworld|1123874105-->
<< >> 8 Einträge, 1 Seite



View all threads created 2005-08-10 02:16.