我需要在perl中保留小数点数后的两个数字



例如:4.5674 => 4.6

我已经在 CGI 中尝试了以下代码。但我无法获得输出。

use Math::Round;
use Math::Round qw(:all);
use strict;
use warnings;
my $rounded = nearest(.1, 4.65);
print $rounded;

下面显示错误

Illegal character 15 (carriage return) at //ms/dist/perl5/PROJ/Math-Round/0.06/lib/perl5/Math/Round.pm line 1.
(Maybe you didn't strip carriage returns after a network transfer?)
BEGIN failed--compilation aborted at ......

请帮助获取此输出。

关于四舍五入数字,使用 sprintf 函数

#!/usr/bin/perl
my $n = 4.5674;
print sprintf('%.02f',$n);

接下来要将 windows 行尾转换为 Unix 行尾,在 *nix 计算机上使用以下命令

$ dos2unix my_program_file.pl

看起来原始脚本是在Windows上编写的,现在在UNIX上使用错误的行尾(CR LF而不是LF)。

要将 CR LF(Windows 行尾)替换为 LF(UNIX 行尾),请通过以下正则表达式运行文件:

s/1215/n/g;

一个简单的perl文件是:

use warnings;
use strict;
while(<>) {
    $_ =~ s/1215/n/g;
    print $_;
}

您将按如下方式运行以下命令:

$ perl fixlineendings.pl oldfile.pl > newfile.pl

最新更新