如何驗證一個 C# 字串是否是數字?


可以使用int.TryParseint.Parse 驗證帶數字的字串。

如果無法將字串轉換為整數,則 Int.Parse 會丟擲異常,而 Int.TryParse 會返回一個布林值,指示是否成功。此外,Int.TryParse 還具有一個 out 引數,其中包含已解析字串的值。

示例

 即時演示

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         Console.ReadLine();
      }
   }
}

輸出

程式碼的輸出是

Try Parse Interger Number: 123
Parse Interger Number: 123

在上述示例中,由於 int.Tryparse 返回一個布林值以及 out 引數中的已解析字串,因此 if 條件返回 true。此外,由於字串包含適當的數字,因此 int.Parse 返回整數值。

示例

 即時演示

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         int number = 0;
         if(int.TryParse(numberString, out number)) {
            Console.WriteLine($"Try Parse Interger Number: {number}");
         }
         elsem{
            Console.WriteLine($"String doesnot have a proper number");
         }
         Console.ReadLine();
      }
   }
}

輸出

上述程式碼的輸出是

String doesnot have a proper number

由於字串中沒有正確的數字,因此 int.Tryparse 將返回 false,並且會執行程式碼的 else 部分。在相同的情況下,int.Parse 會丟擲如下異常。

示例

using System;
namespace DemoApplication {
   class Program {
      static void Main(string[] args) {
         string numberString = "A123";
         Console.WriteLine($"Parse Interger Number: {int.Parse(numberString)}");
         //Exception: Input string was not in correct format.
      }
   }
}

更新於: 2020 年 8 月 8 日

1K+ 檢視次數

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告