我不想添加数字,而是“连接”它们并将值解释为单个数字。例如,
$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
我该怎么办?谢谢
我不想添加数字,而是“连接”它们并将值解释为单个数字。例如,
$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
我该怎么办?谢谢
在 Perl 中,整数是看起来像整数的东西。因此字符串连接可以给出一个整数。
my $var3 = $var1 . $var2;
print $var3 * 2, "\n"; # 11342222
因此,您可以强制 Perl 存储整数,因为 Java 会int
使用以下命令存储整数:
my $var3 = 0+( $var1 . $var2 );
尝试这样做:
my $var1 = 567;
my $var2 = 1111;
print $var1 . $var2 . "\n";
在Perl
中,.
均值串联。
我们也可以这样编码:
print "$var1$var2\n";
你应该知道 perl 没有数据类型。"1234"
出于所有意图和目的,字符串和1234
perl 中的数字之间确实没有区别。Perl 可以无缝切换到上下文所需的任何数据类型。
所以你需要的只是字符串连接:
my $var3 = "$var1$var2";
或者
my $var3 = $var1 . $var2;
使用 perl,总有更多方法可以做到这一点:
my $var3 = sprintf "%d%d", $var1, $var2;
有趣的是,您可以连接以获取数字并将该值用作同一表达式的一部分:
my $a = '123';
my $b = '456';
my $c = "$a$b" * 2;
$c = ( $a . $b ) * 2;
Perl 足够聪明,可以将两个整数字符串的连接解释为一个整数。
所以只需使用点运算符来连接字符串。
$bigstring = $string1.$string2;
在你的情况下
$var3=$var1.$var2 ;