C#で文字列が数値かどうかを判定する方法
C#のプログラミングでは、文字列が数値(数字のみ)で構成されているかどうかを確認したい場面がよくあります。ここでは、LINQのAllメソッドとchar.IsDigitメソッドを組み合わせて、シンプルに判定する方法を紹介します。
確認対象となる文字列の例
まず、次のような文字列があるとします。
string str = "3456";
数値かどうかを判定する方法
この文字列が数値かどうかを確認するには、以下のように記述します。
str.All(c => char.IsDigit(c))
上記のコードは、文字列内のすべての文字が数字であれば true を返し、一つでも数字以外の文字が含まれていれば false を返します。
押さえておきたいポイント
Allメソッドは System.Linq 名前空間に属しているため、using System.Linq;の宣言が必要です。char.IsDigitは、Unicodeの10進数字('0'〜'9'など)かどうかを判定します。- 空の文字列に対して
Allを呼び出すとtrueが返るため、必要に応じて空文字チェックを組み合わせると安全です。
サンプルコード全体
using System;
using System.Linq;
namespace Demo {
public class MyApplication {
public static void Main(string[] args) {
string str = "3456";
// 文字列が数値かどうかを確認
Console.WriteLine(str.All(c => char.IsDigit(c)));
}
}
}
実行結果
True
このように、All メソッドと char.IsDigit を組み合わせれば、わずか1行で文字列が数字のみで構成されているかどうかを判定できます。なお、負の符号や小数点を含む数値を厳密に判定したい場合は、int.TryParse や double.TryParse などのメソッドを活用するとより確実です。用途に応じて使い分けてみてください。
-
Pythonで数値を逆順にする2つの方法【文字列変換と数学的処理】
整数の桁を逆順に並べ替える(数値の反転)処理は、Pythonでは比較的簡単に実装できます。アルゴリズムの学習やコーディングテストなど、さまざまな場面で数値を反転させる必要に迫られることがあります。入力:12345 出力:54321Pythonで数値を逆順にする方法は、主に以下の2つがあります。数値を文字列に変換し、文字列を反転させてから再び整数に戻す方法文字列に変換せず、数学的な演算だけで反転させる方法方法1:文字列に変換して反転するこの方法は最もシンプルで、複雑なロジックを考える必要がありません。数値をstr()で文字列に変換し、スライス記法[::-1]を使って文字列を反転させた後、int(
-
Pythonで区切り文字(str)を指定して文字列を分割する方法
Pythonで文字列を特定の区切り文字で分割する方法は、主に2つあります。1つは文字列クラスの組み込みメソッド split() を使う方法、もう1つは正規表現モジュール re の re.split() を使う方法です。それぞれの使い方を詳しく見ていきましょう。 split()メソッドで文字列を分割する PythonのStringクラスには split() というメソッドが用意されており、区切り文字をオプション引数として指定できます。引数を省略した場合、デフォルトの区切り文字は空白(ホワイトスペース)になります。 >>> aa-ab-ca.split(-) [aa, ab, c