菜鸟问题, perl 有数字转字符的函数吗?

菜鸟问题, perl 有数字转字符的函数吗?

例1
#!/usr/bin/perl
use strict;
my $bb = 147.00;
$bb=~/^(\d+).(\d+)/;
print "$1\n";
print "$2\n";

输出: 1
        7
                                     为什么会出这个结果!
例2
#!/usr/bin/perl
use strict;
my $bb = "147.00";
$bb=~/^(\d+).(\d+)/;
print "$1\n";
print "$2\n";

输出: 147
          00

         如果$bb是从mysql取出又是数值型的,那要转换成字符型才行哦!请问perl把数字转换字符型的函数是什么..我在google找了很久..都不到!谢谢!
貌似楼主是要 sprintf


QUOTE:
原帖由 topstar_allan 于 2008-9-12 16:06 发表
例1
#!/usr/bin/perl
use strict;
my $bb = 147.00;
$bb=~/^(\d+).(\d+)/;
print "$1\n";
print "$2\n";

输出: 1
        7
                                     为什么会出这个结果!
例2
#!/u ...

printf "%d" ,$bb
或者
$bb = int($bb)
print $bb
#!/usr/bin/perl
use strict;
my $bb = 14788.00;
my $cc = sprintf "%.2f",$bb;
$cc=~/(\d+)\.(\d+)/;
print "$1\n";
print "$2\n";

楼主要匹配 .  有用 \ 的,你的正则表达式有问题
对..我的正则表达式少了 \
问题解决了,,谢谢大家的回复! 又学到东西了!
my $bb = 14788.00;
my $cc = sprintf "%.2f",$bb;
$cc=~/(\d+).(\d+)/;
print "$1\n";
print "$2\n";

不用\也行啊,关键是要字符串吧
正则表达是贪婪的