C#中如何判断一个字符串是不是小数
答案:4 悬赏:20 手机版
解决时间 2021-02-18 01:23
- 提问者网友:我是女神我骄傲
- 2021-02-17 19:35
C#中如何判断一个字符串是不是小数
最佳答案
- 五星知识达人网友:孤独的牧羊人
- 2021-02-17 21:08
Regex reg = new Regex(@"^\d+\.\d+$");
if (reg.IsMatch(str))
MessageBox.Show("输入的是小数");
以上匹配,只有包含小数点,且前面后面都只包含数字的,才会认定为小数。
你的判断没考虑非数字。
if (reg.IsMatch(str))
MessageBox.Show("输入的是小数");
以上匹配,只有包含小数点,且前面后面都只包含数字的,才会认定为小数。
你的判断没考虑非数字。
全部回答
- 1楼网友:鱼忧
- 2021-02-17 22:10
字符串好像没有小数
- 2楼网友:执傲
- 2021-02-17 21:55
string s="0.11";
try
{
double a=Convert.ToDouble(s);//如果成功就是小数
}
catch
{
//不成功,不是小数
}
try
{
double a=Convert.ToDouble(s);//如果成功就是小数
}
catch
{
//不成功,不是小数
}
- 3楼网友:一把行者刀
- 2021-02-17 21:32
1.用正则表达式判断, 这种判断比较准确
2.使用 double.TryParse(string s, out double value),如果转换成功,再对double强制转换成int,与之前的double值比较,如果不相等就是小数,这种方法的缺陷是数值有一定范围,字符串对应的int值不能够超出int的表示范围,否则即便double能转换成功,强制类型转换时也会丢失数据,造成判断失败 -----这是一种有缺陷的方法,不过在解决字符串比较小时,还是有用的
2.使用 double.TryParse(string s, out double value),如果转换成功,再对double强制转换成int,与之前的double值比较,如果不相等就是小数,这种方法的缺陷是数值有一定范围,字符串对应的int值不能够超出int的表示范围,否则即便double能转换成功,强制类型转换时也会丢失数据,造成判断失败 -----这是一种有缺陷的方法,不过在解决字符串比较小时,还是有用的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯