Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl将两个数字连接成另一个数字?_Perl_Integer_Concatenation - Fatal编程技术网

Perl将两个数字连接成另一个数字?

Perl将两个数字连接成另一个数字?,perl,integer,concatenation,Perl,Integer,Concatenation,我不想添加这些数字,但要“串联”它们,并将值解释为单个数字。比如说, $var1 = 567; $var2 = 1111; #trying to explain what I wanna do with java-style syntax $var3 = parseInt($var1 CONCAT $var2); print $var3; #5671111 and is of type integer 我该怎么办?谢谢尝试这样做: my $var1 = 567; my $var2 = 1

我不想添加这些数字,但要“串联”它们,并将值解释为单个数字。比如说,

$var1 = 567;
$var2 = 1111;

#trying to explain what I wanna do with java-style syntax
$var3 = parseInt($var1 CONCAT $var2); 

print $var3; #5671111 and is of type integer
我该怎么办?谢谢

尝试这样做:

my $var1 = 567;
my $var2 = 1111;

print $var1 . $var2 . "\n";
Perl
中,
表示串联

我们也可以编写代码:

print "$var1$var2\n";

您应该知道perl没有数据类型。就所有意图和目的而言,在perl中字符串“1234”和数字“1234”之间实际上没有区别。Perl可以无缝地切换到上下文所需的任何数据类型

因此,您只需要字符串连接:

my $var3 = "$var1$var2";

有了perl,总是有更多的方法可以做到这一点:

my $var3 = sprintf "%d%d", $var1, $var2;

Perl非常聪明,可以将两个整数字符串的串联解释为一个整数

所以,只需使用点运算符连接字符串

$bigstring = $string1.$string2;
就你而言

$var3=$var1.$var2 ;

在Perl中,整数是看起来像整数的东西。因此,字符串串联可以得到一个整数

my $var3 = $var1 . $var2;
print $var3 * 2, "\n";   # 11342222
因此,您可以使用以下命令强制Perl存储整数,就像Java存储
int
一样:

my $var3 = 0+( $var1 . $var2 );

有趣的是,您可以连接以获取数字,并将值用作同一表达式的一部分:


我可以建议大家在《perldoc perlop》这本书中愉快地闲逛一下吗?作为一本普遍有用的读物?你们这些讨厌你们的人,你们打算怎么否决这本书?我不知道正常的连接是否足以使它成为一个整数。。。如果每个问题都用“阅读手册”来回答,那么这个网站就不存在了。老实说,我不认为这是一个可怕的问题。我没有投反对票。只是建议进行一次信息性阅读。:)再次感谢,我注意到您回答了我的许多perl问题=)
my $var3 = 0+( $var1 . $var2 );
my $a = '123';
my $b = '456';
my $c = "$a$b" * 2;
$c    = ( $a . $b ) * 2;