#!/usr/bin/perl -t -w use strict; sub dosplitMe () { my ($x,$justSplitMe) = @_; if ($justSplitMe) { my ($y, $z) = split(/\./, $x); return ($y, $z); } else { # there might be stuff before first integer... my ($y,$z); if ($x =~ m/(\D+)?(\d+)\.(\d+)/) { ($y, $z) = ($1.$2 , $1.$3); } return ($y, $z); } } my $num1 = 123.456; my $num2 = -123.456; my $num3 = "abc123.123"; my @a; @a = &dosplitMe($num1,1); print ("1: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,1); print ("2: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,0); print ("3: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,1); print ("4: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,0); print ("5: $a[0] - $a[1] \n");
#!/usr/bin/perl -t -w use strict; sub dosplitMe () { my ($x,$separator,$justSplitMe) = @_; if ($justSplitMe) { if ($x =~ m /(.*)?$separator(.*)/) { return ($1,$2); } } else { # there might be stuff before first integer... if ($x =~ m/(\D+)?(\d+)$separator(\d+)/) { return ($1.$2 , $1.$3); } } } my $num1 = 123.456; my $num2 = -123.456; my $num3 = "abc123,123"; my @a; @a = &dosplitMe($num1,'\.',1); print ("1: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,'\.',1); print ("2: $a[0] - $a[1] \n"); @a = &dosplitMe($num2,'\.',0); print ("3: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,',', 1); print ("4: $a[0] - $a[1] \n"); @a = &dosplitMe($num3,',', 0); print ("5: $a[0] - $a[1] \n");
In reply to Re: splitting a decimal number..
by jbrugger
in thread splitting a decimal number..
by renz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |