当前位置:  开发笔记 > 编程语言 > 正文

在Perl中,如何限制小数点后的位数但没有尾随零?

如何解决《在Perl中,如何限制小数点后的位数但没有尾随零?》经验,为你挑选了1个好方法。



1> vladr..:

直接使用以下内容:

my $s = sprintf('%.3f', $f);
$s =~ s/\.?0*$//;

print $s

...或者定义一个子程序来更一般地执行它:

sub fstr {
  my ($value,$precision) = @_;
  $precision ||= 3;
  my $s = sprintf("%.${precision}f", $value);
  $s =~ s/\.?0*$//;
  $s
}

print fstr(0) . "\n";
print fstr(1) . "\n";
print fstr(1.1) . "\n";
print fstr(1.12) . "\n";
print fstr(1.123) . "\n";
print fstr(1.12345) . "\n";
print fstr(1.12345, 2) . "\n";
print fstr(1.12345, 10) . "\n";

打印:

0
1
1.1
1.12
1.123
1.123
1.12
1.12345

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有