62,074
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 判断字符串是否为数字
/// </summary>
/// <param name="str">要判断的字符串对象</param>
/// <returns></returns>
public static bool IsNumber(string str)
{
return Regex.IsMatch(str, @"^\d+$");
}
/// <summary>
/// 判断字符串是否为正整数
/// </summary>
/// <param name="str">要判断的字符串对象</param>
/// <returns></returns>
public static bool IsInt(string str)
{
return Regex.IsMatch(str, @"^(0|([1-9]\d*))$");
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Globalization;
namespace TempTestA1
{
class Class7
{
public static void Main()
{
int r = 0;
// 只允许前导空白、结尾空白、千分位符
Console.WriteLine("下列返回 true");
Console.WriteLine(int.TryParse("123456", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
Console.WriteLine(int.TryParse("123,456", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
Console.WriteLine(int.TryParse(" \r\n 123,456 \r\n ", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
Console.WriteLine(int.TryParse("0", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
// 正负符号、16 进制、小数点等不允许
Console.WriteLine("下列返回 false");
Console.WriteLine(int.TryParse("+123456", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
Console.WriteLine(int.TryParse("-0", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
Console.WriteLine(int.TryParse("123.456", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
Console.WriteLine(int.TryParse("0xb345", NumberStyles.AllowLeadingWhite | NumberStyles.AllowThousands | NumberStyles.AllowTrailingWhite, null, out r));
}
}
}
public static bool IsPositiveInt(string strInt)
{
char[] chaStr = strInt.ToCharArray();
bool getFirst = false;
foreach (char c in chaStr)
{
if (!getFirst)
{
if (c.Equals('+') || char.IsDigit(c))
{
getFirst = true;
continue;
}
else
{
return false;
}
}
else
{
if (!char.IsDigit(c))
{
return false;
}
}
}
return true;
}
public bool IsPositiveInt(string strInt)
{
char[] chaStr = strInt.ToCharArray();
bool getFirst = false;
foreach (char c in chaStr)
{
if (!getFirst)
{
if (!c.Equals('+'))
{
return false;
}
getFirst = true;
}
else
{
if (!char.IsDigit(c))
{
return false;
}
}
}
return true;
}
int i = 0;
string str = "123";
if (!int.TryParse(str, out i)
{
//不是整型
}
else
{
//是整型
}