微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

perl数字格式转换

查看mytop源码,学到的几个小技巧,获益匪浅

 

 
 
  1. #!/usr/bin/perl  
  2. use strict; 
  3. use warnings; 
  4. use Data::Dumper; 
  5.  
  6. my $number = $ARGV[0]; 
  7. my $c = $ARGV[1]; 
  8.  
  9. sub commify($) 
  10.     local $_  = shift; 
  11.     chomp($_); 
  12.     return 0 unless defined $_; 
  13.     1 while s/^(\d+)(\d{3})/$1,$2/ and print Dumper($_);  ##,从右边开始,3位一个
  14.     return $_; 
  15.  
  16.  
  17. sub make_short($) 
  18.     my $number = shift; 
  19.     my $n = 0; 
  20.     while ($number > 1_025) { $number /= 1024; $n++; }; 
  21.     return sprintf "%.1f%s", $number, ('','k','M','G''T')[$n];  ##切片
  22.  
  23.  
  24. print commify($number),"\n"
  25. print make_short($number),"\n" if $c; 

# perl commify.pl 1230098 y

$VAR1 = '1230,098';
$VAR1 = '1,230,098';
1,098
1.2M

[root@cz perl]# perl commify.pl 1230098
$VAR1 = '1230,098

 

fyi : http://jeremy.zawodny.com/mysql/mytop/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐