2

数値を追加したくありませんが、それらを「連結」して、値を単一の数値として解釈します。例えば、

$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

どうすればこれに取り組むことができますか?ありがとう

4

5 に答える 5

5

Perlでは、整数は整数のように見えるものです。したがって、文字列の連結は整数を与えることができます。

my $var3 = $var1 . $var2;
print $var3 * 2, "\n";   # 11342222

intそのため、Javaが以下を使用して格納するのと同じように、Perlに整数を格納するように強制できます。

my $var3 = 0+( $var1 . $var2 );
于 2012-10-18T16:50:18.827 に答える
1

これを試してみてください:

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

print $var1 . $var2 . "\n";

Perl.連結を意味します。

これもコーディングできます:

print "$var1$var2\n";
于 2012-10-18T16:41:13.180 に答える
1

perlにはデータ型がないことを知っておく必要があります。すべての意図と目的のために、文字列とperl"1234"の数の間に実際には違いはありません。1234Perlは、コンテキストが要求するデータ型にシームレスに切り替えます。

したがって、必要なのは文字列の連結だけです。

my $var3 = "$var1$var2";

また

my $var3 = $var1 . $var2;

perlを使用すると、それを行う方法が常にあります。

my $var3 = sprintf "%d%d", $var1, $var2;
于 2012-10-18T16:42:39.693 に答える
0

Perlは、2つの整数文字列の連結を整数として解釈するのに十分賢いです。

したがって、ドット演算子を使用して文字列の連結を使用するだけです。

$bigstring = $string1.$string2;

あなたの場合

$var3=$var1.$var2 ;
于 2012-10-18T16:47:05.363 に答える
0

興味深いのは、連結して数値を取得し、その値を同じ式の一部として使用できることです。

my $a = '123';
my $b = '456';
my $c = "$a$b" * 2;
$c    = ( $a . $b ) * 2;
于 2012-10-18T18:04:42.303 に答える