如何從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. 如何檢查字符串是否在二進制文件
- 3. 需要檢查輸入字符串中的十六進制值
- 4. 十六進制字符串到二進制字符串
- 5. Ruby:十六進制字符串到二進制字符串
- 6. 如何檢查VARCHAR字符串是不是十六進制?
- 7. Python從二進制字符串轉換爲十六進制
- 8. 轉換十六進制字符串爲二進制的SQL Server
- 9. 將二進制數據轉換爲C程序的十六進制字符串
- 10. 如何檢查位是否設置爲十六進制字符串?
- 11. 將十六進制字符串轉換爲32位二進制字符串
- 12. 十六進制值爲二進制字符串的常規字符串
- 13. 將十六進制字符串轉換爲二進制字符串
- 14. 如何將C#中的大二進制字符串轉換爲十六進制字符串格式?
- 15. 如何檢查mysql中的二進制字符串是否爲UTF-8?
- 16. 如何使用C將二進制整數作爲十六進制寫入二進制文件中使用C
- 17. 字符串爲十六進制和十六進制轉換爲字符串
- 18. PHP中的二進制數據轉爲十六進制字符串
- 19. 如何轉換十六進制字符串爲十六進制數
- 20. 十六進制字符串爲整數
- 21. Linux shell腳本:十六進制數字轉換爲二進制字符串
- 22. 如何將十六進制字符串轉換爲十進制?
- 23. C++二進制輸入作爲一個字符串到十進制
- 24. 二進制數字。錯誤時檢查確保二進制輸入是二進制
- 25. 字符串爲二進制
- 26. 從十六進制字符串轉換爲十六進制字符數組
- 27. 將字符串轉換爲十六進制到十六進制
- 28. 如何將十六進制數字轉換爲C++中的二進制文件?
- 29. 如何在Perl中將十進制數轉換爲十六進制字符串?
- 30. 在Ruby中將二進制字符串轉換爲十六進制
你不能在一個除非你強迫用戶用例如0x或0b作爲前綴。即100是有效的二進制或十六進制,但我們不能區分。我的問題得到了正確嗎? – 2011-02-26 11:45:16