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;