如何使用perl在字符串中添加n个数字

时间:2019-01-09 17:23:34

标签: regex perl

我需要在字符串中添加给定数量的零,以使下面的标量$ newstg等于'1000'。

use strict;
my $number_of_zeros = 3;

my $newstg = '1';
$newstg = $newstg . sprintf("%0$number_of_zerosd\n",$subd); 
print "Subd: $newstg\n";

4 个答案:

答案 0 :(得分:6)

使用可以使用* / sprintf支持的printf表示法在模板中使用变量。

$newstg .= sprintf("%0*d\n", $number_of_zeros, $subd);
#same as   sprintf("%03d\n", $subd);

答案 1 :(得分:5)

您可以使用x repetition operator

my $number_of_zeros = 3;
print '1' . 0 x $number_of_zeros;

答案 2 :(得分:2)

如果您更改以下行,它将正常工作:

$newstg = $newstg . sprintf("%0$number_of_zerosd\n",$subd); 

$newstg = $newstg . sprintf("%0${number_of_zeros}d\n",$subd); 
#                             __^             __^

答案 3 :(得分:1)

$newstg * ( 10 ** $number_of_zeroes )

$newstg . ( '0' x $number_of_zeroes )