加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl数字格式转换

发布时间:2020-12-15 21:02:24 所属栏目:大数据 来源:网络整理
导读:查看mytop源码,学到的几个小技巧,获益匪浅 ? #!/usr/bin/perl?? use?strict;? use?warnings;? use?Data::Dumper;? ? my?$number?=?$ARGV[0];? my?$c?=?$ARGV[1];? ? sub?commify($)? {? ???? local ?$_??=?shift;? ????chomp($_);? ???? return ?0?unless?

查看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. {?
  11. ????local?$_??=?shift;?
  12. ????chomp($_);?
  13. ????return?0?unless?defined?$_;?
  14. ????1?while?s/^(d+)(d{3})/$1,$2/?and?print?Dumper($_);? ##,从右边开始,3位一个
  15. ????return?$_;?
  16. }?
  17. ?
  18. ?
  19. sub?make_short($)?
  20. {?
  21. ????my?$number?=?shift;?
  22. ????my?$n?=?0;?
  23. ????while?($number?>?1_025)?{?$number?/=?1024;?$n++;?};?
  24. ????return?sprintf?"%.1f%s",?$number,?('','k','M','G',?'T')[$n];? ##切片
  25. }?
  26. ?
  27. ?
  28. print?commify($number),"n";?
  29. 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/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读