【Perl】文字列を数値に変換する方法(10進数、16進数)

Perl

本記事では、Perlスクリプトにおいて、以下の文字列を数値に変換する方法を紹介します。

  • 10進数の文字列
  • 16進数の文字列(0xなし)
  • 16進数の文字列(0xあり)

10進数の文字列を数値に変換する

int関数を使用することで10進数の文字列を整数に変換できます。

#!/usr/bin/perl
use strict;
use warnings;

my $decimal_string = '123'; # 10進数の文字列
my $number = int($decimal_string); # 文字列を整数に変換

print "10進数の文字列 '$decimal_string' は数値に変換すると $number です。\n";

実行結果

10進数の文字列 '123' は数値に変換すると 123 です。

16進数の文字列(0xなし)を数値に変換する

hex関数を使用して16進数の文字列(0xなし)を数値に変換できます。

#!/usr/bin/perl
use strict;
use warnings;

my $hex_string_without_0x = '1A'; # 16進数の文字列(0xなし)
my $number = hex($hex_string_without_0x); # 文字列を16進数として解釈し、数値に変換

print "16進数の文字列(0xなし) '$hex_string_without_0x' は数値に変換すると $number です。\n";

実行結果

16進数の文字列(0xなし) '1A' は数値に変換すると 26 です。

16進数の文字列(0xあり)を数値に変換する

0xありの16進数宇も、hex関数を使用して16進数の文字列(0xあり)を数値に変換できます。Perlのhex関数は0xプレフィックスが付いた文字列も適切に処理できます。

#!/usr/bin/perl
use strict;
use warnings;

my $hex_string_with_0x = '0x1A'; # 16進数の文字列(0xあり)
my $number = hex($hex_string_with_0x); # 文字列を16進数として解釈し、数値に変換

print "16進数の文字列(0xあり) '$hex_string_with_0x' は数値に変換すると $number です。\n";

実行結果

16進数の文字列(0xあり) '0x1A' は数値に変換すると 26 です。

まとめ

本記事では、Perlスクリプトで文字列を数値に変換する方法を紹介しました。10進数はint関数、16進数はhex関数を使用しましょう。

タイトルとURLをコピーしました