[解決済み] Perlで変数が数値を持っているかどうかを判断するには?
2023-02-05 10:28:31
質問
与えられた変数が数値であるかどうかを判断するためのPerlの簡単な方法はありますか? 行に沿った何か。
if (is_number($x))
{ ... }
があれば理想的です。 のときに警告を投げないテクニックが必要です。
-w
スイッチが使用されているときに警告を出さないテクニックが確かに望ましいです。
どのように解決するのですか?
使用方法
Scalar::Util::looks_like_number()
これは、Perl C API の内部関数 looks_like_number() を使用するもので、おそらくこれを行う最も効率的な方法でしょう。
文字列 "inf" と "infinity" は数字として扱われることに注意してください。
例
#!/usr/bin/perl
use warnings;
use strict;
use Scalar::Util qw(looks_like_number);
my @exprs = qw(1 5.25 0.001 1.3e8 foo bar 1dd inf infinity);
foreach my $expr (@exprs) {
print "$expr is", looks_like_number($expr) ? '' : ' not', " a number\n";
}
このように出力されます。
1 is a number
5.25 is a number
0.001 is a number
1.3e8 is a number
foo is not a number
bar is not a number
1dd is not a number
inf is a number
infinity is a number
こちらもご覧ください。
- perldoc Scalar::Util
-
perldoc perlapi
に対して
looks_like_number
関連
-
[解決済み] Perlからロケール設定の警告を修正する方法
-
[解決済み] CPANにすべての依存関係をインストールするように指示するにはどうしたらいいですか?
-
[解決済み] PerlからUTF-8を出力するにはどうしたらいいですか?
-
[解決済み] なぜPerl 5の関数プロトタイプはダメなのか?
-
[解決済み] Perl のフラグ -pe, -pi, -p, -w, -d, -i, -t?
-
[解決済み] Perlのハッシュのキーを反復処理する最も安全な方法は何ですか?
-
[解決済み] なぜstrictとwarningを使うのか?
-
[解決済み] Perlで文字列が空かどうかをチェックする適切な方法は何ですか?
-
[解決済み] Perl CGI スクリプトのトラブルシューティングはどのようにすればよいですか?
-
[解決済み] インストールされているCPANモジュールの一覧を取得するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 弱型付け言語に関する明らかな矛盾の解明を求めて
-
[解決済み] Perlでファイルが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] なぜPerl 5の関数プロトタイプはダメなのか?
-
[解決済み] Perl のフラグ -pe, -pi, -p, -w, -d, -i, -t?
-
[解決済み] Perlのハッシュのキーを反復処理する最も安全な方法は何ですか?
-
[解決済み] なぜstrictとwarningを使うのか?
-
[解決済み] Perlのprintがデフォルトで改行を追加するには?
-
[解決済み] Perl CGI スクリプトのトラブルシューティングはどのようにすればよいですか?
-
[解決済み] Perlで "my "キーワードはどのように使うべきですか?
-
[解決済み] インストールされているCPANモジュールの一覧を取得するにはどうすればよいですか?