- ベストアンサー
8進数文字列を10進数の数値にする方法
文字列の数値を10進数に変換したいのですが、 頭に0が付くと8進数扱いでエラーになります。 簡単に変換する方法はありますか? my $a = "09"; my $b = int($a); <-- エラー また、8進数は頭に0ですが 2進数はどんな表記方法でしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
my $b = 0 + $a; でいいです。 2進数は、0b1001 のように表記します
その他の回答 (3)
- ___noboru___
- ベストアンサー率28% (33/117)
回答No.4
Perl 5.8.6 ではエラーが出ません。 Perl のバージョンと、どういうエラーが出るのかを捕捉して下さい。
- SE-1
- ベストアンサー率57% (26/45)
回答No.3
回答ではないんですが・・・ BLUEPIXY さんと投稿がかぶってしまったようです(1980324 も)。そして、どちらも私の完敗のようです (++;)。
- SE-1
- ベストアンサー率57% (26/45)
回答No.2
#タイトル通りなら、リンク先の「数字変換処理」ですが・・9が出てくるということは、09を9にしたいということのようですね。 #もしそうなら頭の0を抜けばいいと思います↓。 my $a = "09"; $a=~s/^0(\d+)/$1/; my $b = int($a); print "$b\n";