ある文字列からsubstrで3桁の数値を切り取り、計算に使いたいのですがゼロ詰めの数値の場合8進数になると思っていたのですが、文字列の場合は10進数の数値になります。
これは仕様でしょうか?
perlは型がないので、AもBもCも同じ値だと思っていましたが、
そのあたりについて詳しい方、違いを知っている方教えて頂けますか?
#-- A --
my $s = "007008009010";
print int( substr($s, 0, 3) ) . "\n";
print int( substr($s, 3, 3) ) . "\n";
print int( substr($s, 6, 3) ) . "\n";
print int( substr($s, 9, 3) ) . "\n";
print;
#-- B --
print int("007") . "\n";
print int("008") . "\n";
print int("009") . "\n";
print int("010") . "\n";
print;
#-- C --
print int(007) . "\n"; # 7
#print int(008) . "\n";
#print int(009) . "\n";
print int(010) . "\n"; # 8
No.2ベストアンサー
- 回答日時:
仕様です。
詳しくは添付のドキュメント perldata.pod の
Scalar value constructors の項を参照してください。
Hexadecimal, octal, or binary, representations in string literals
(e.g. '0xff') are not automatically converted to their integer representation. The hex() and oct() functions make these
conversions for you. See hex in the perlfunc manpage and oct in
the perlfunc manpage for more details.
参考までに、oct関数に十六進表記文字列や二進表記文字列を食わせても
正しく変換してくれます。
ただし、0x, 0bが前置されていなければなりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- Visual Basic(VBA) 順列をランダムに発生するプログラム 1 2022/11/16 12:16
- Ruby プログラミング 3 2023/06/09 14:30
- その他(プログラミング・Web制作) 【Python初学者】以下コードについて教えていただきたいです 4 2023/04/19 13:01
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- その他(プログラミング・Web制作) 十進BASICでの再帰についての質問です。 2 2022/11/18 09:17
- Perl perlについての質問 2 2022/10/17 15:25
- その他(プログラミング・Web制作) pythonでDBのカラム名で取得したオブジェクトの値を表示したい 1 2022/05/13 03:41
- その他(プログラミング・Web制作) pythonのmap、結果の利用は1度だけ? 5 2022/06/11 12:33
- Ruby vscode 文字化け 1 2022/05/21 19:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
16進の10進変換について
-
数値英単語変換
-
【至急!!!】python言語で本を見...
-
awkの正規表現での最左最短マッ...
-
文字のカラーとフォントの指定...
-
Pythonでコンソールをクリアす...
-
Pythonでターミナルに文字を出...
-
パイソンのクラスについて
-
awk の int()に関数について
-
C言語
-
シェルスクリプトで、空白(ス...
-
PerlCGIでクエリの検索結果が途...
-
プログラミングについて 文字列...
-
画面上再読み込みをさせたいの...
-
I2C接続のLCDディスプレイを使う
-
Perl 条件一致なし 合計値 0表示
-
pythonを使ったプログラミング...
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
formで特定のinputを送信しない...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
Pythonでターミナルに文字を出...
-
シェルスクリプトで、空白(ス...
-
【至急!!!】python言語で本を見...
-
pythonで演算子を変数に代入す...
-
c言語 16進数の2進数への変換
-
パイソンのクラスについて
-
I2C接続のLCDディスプレイを使う
-
関数「exists」と「defined」の...
-
pythonの*
-
変数の中は文字列か数値か調べ...
-
数値かどうかの判定方法
-
python print文のエラー
-
int(input("○○"))の使い方
-
Perlの例文でif($a==1&&$b==5&&...
-
awkの正規表現での最左最短マッ...
-
Use of uninitialized value ---
-
CGIでimgタグでalignを使うとエ...
-
swift 文字コードから文字に変...
-
javaのパッケージ構成で各パッ...
おすすめ情報