如何從c#中檢查輸入字段中的輸入字符串是否是正確的二進制(或六進制)數字?如何在c#中檢查輸入字符串是否爲二進制/六進制。數?
4
A
回答
6
using System.Globalization;
bool valid = int.TryParse(inputString, NumberStyles.HexNumber, CultureInfo.InvariantCulture, out result);
適用於不帶前綴的十六進制數。如果您不知道唯一的數字類型,您可以使用
bool isHex = inputString.Length > 2 &&
inputString.Substring(0, 2).ToLowerInvariant() == "0x" &&
int.TryParse(inputString.Substring(2), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out result);
檢查並解析字符串在同一時間。對於二進制我會使用
Regex.IsMatch(inputString, "^[01]+$");
您應該使用inputString = inputString.Trim()
使應用程序就「非標準輸入」更加寬容。
0
嘗試
Regex.IsMatch("0x6868FC", "\b0x[a-fA-F0-9]+\b");
如果你希望用戶輸入以0x開始的十六進制數。
+0
或者你可以說0x部分是可選的(?:0x)? – bottlenecked 2011-02-26 13:32:06
3
您可以使用下面的代碼:
int dummy;
bool isHex = int.TryParse(str,
NumberStyles.HexNumber,
CultureInfo.InvariantCulture,
out dummy);
對於二元,有沒有內置的功能,但你可以使用類似以下內容:
static bool isbin(string s)
{
foreach (var c in s)
if (c != '0' && c != '1')
return false;
return true;
}
相關問題
- 1. C++長十六進制字符串轉換爲二進制
- 2. 將二進制長字符串轉換爲十六進制c#
- 3. 如何檢查字符串是否在二進制文件
- 4. 檢查argv [1]是否爲十六進制字符串
- 5. 如何檢查一個字符串是否是rgb十六進制字符串
- 6. 將二進制字符串轉換爲十六進制字符串C
- 7. 需要檢查輸入字符串中的十六進制值
- 8. 十六進制字符串到二進制字符串
- 9. 二進制字符串到十六進制字符串java
- 10. Ruby:十六進制字符串到二進制字符串
- 11. 如何檢查VARCHAR字符串是不是十六進制?
- 12. C++檢查字符串是否包含字符以及如何將二進制字符串轉換爲整數
- 13. 將二進制字符串顯示爲十六進制DB2
- 14. Python3 ASCII十六進制轉換爲二進制字符串
- 15. Python從二進制字符串轉換爲十六進制
- 16. 轉換二進制字符串爲十六進制
- 17. 將十六進制字符串轉換爲二進制
- 18. 二進制字符串爲十六進制的Java
- 19. 轉換十六進制字符串爲二進制的SQL Server
- 20. 從二進制轉換爲十六進制字符串
- 21. 蟒蛇十六進制二進制轉換爲字符串
- 22. 將二進制數據轉換爲C程序的十六進制字符串
- 23. INT爲十六進制字符串(C++)
- 24. 如何字符轉換爲十六進制和二進制
- 25. 將十六進制字符串轉換爲二進制字符串,顯示所有4位十六進制值
- 26. Python - 如何檢查字符串是否爲十六進制顏色代碼
- 27. 如何檢查位是否設置爲十六進制字符串?
- 28. 在C++中將十六進制十六進制字符標記爲十進制
- 29. 將十六進制字符串轉換爲二進制字符串 - Java
- 30. 十六進制值爲二進制字符串的常規字符串
你不能在一個除非你強迫用戶用例如0x或0b作爲前綴。即100是有效的二進制或十六進制,但我們不能區分。我的問題得到了正確嗎? – 2011-02-26 11:45:16