在c#中如何实现判断一个数值是不是为整数(或小数) 谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在c#中如何实现判断一个数值是不是为整数(或小数) 谢谢相关的知识,希望对你有一定的参考价值。

1、将数值ToString()方法转换成字符串String.Contains()方法判断字符串中是否有小数点有就是小数

2、先将数值Convert.ToDouble然后再Convert.ToInt32再Convert.ToDouble如果最后结果等于开始的数值则为整数否则为小数。

3、将数值转成字符串然后遍历字符串调用Char.IsNumber如果都是true则为整数。

4、将数值转成字符串然后用int.TryParse返回false则是小数否则为整数。

5、将数值转成字符串正则表达式Regex rgx=new Regex^[0-9]+$然后用isMatch()方法返回true为整数否则为小数。

参考技术A

可以用以下几种方法:

    将数值ToString()方法转换成字符串,String.Contains()方法判断字符串中是否有小数点,有就是小数

    先将数值Convert.ToDouble(),然后再Convert.ToInt32(),再Convert.ToDouble(),如果最后结果等于开始的数值则为整数,否则为小数

    将数值转成字符串,然后遍历字符串,调用Char.IsNumber(),如果都是true则为整数

    将数值转成字符串,然后用int.TryParse();返回false则是小数,否则为整数

    将数值转成字符串,正则表达式Regex rgx=new Regex(“^[0-9]+$”);然后用isMatch()方法,返回true为整数,否则为小数

参考技术B

除以1看余数是否是0。

参考技术C var i = 2.0;
if (Regex.IsMatch(i.ToString(), "^\\d+$"))

//整数

else

//小数
参考技术D 可以用正则表达式 返回true or false 判断

表示数值的字符串

题目描述

  请实现一个函数用来判断字符串是否表示数值(包括整数和小数)。例如,字符串"+100","5e2","-123","3.1416"和"-1E-16"都表示数值。 但是"12e","1a3.14","1.2.3","+-5"和"12e+4.3"都不是。
  思路:小数点或者前面有一个整型,或者后面有一个无符号整型,或者两者都有;e或E前面必须有一个整型或小数,后面必须有一个整型。
class Solution {
public:
    bool scanUInt(char *string, int &idx)//匹配无符号整型
    {
        int tmp=idx;
        while(string[idx]>=0 && string[idx]<=9)++idx;
        return idx>tmp;
    }
    bool scanInt(char *string, int &idx)//匹配带符号(+或-)的整型
    {
        if(string[idx]==+ || string[idx]==-)++idx;
        return scanUInt(string, idx);
    }
    bool isNumeric(char* string)
    {
        if(string==NULL)return false;
        int idx=0;
        bool res=scanInt(string, idx);
        if(string[idx]==.)
        {
            ++idx;
            res=scanUInt(string, idx) || res;//小心短路运算
        }
        if(string[idx]==e || string[idx]==E)
        {
            ++idx;
            res=scanInt(string, idx) && res;
        }
        return res && string[idx]==\0;
    }
};

 

以上是关于在c#中如何实现判断一个数值是不是为整数(或小数) 谢谢的主要内容,如果未能解决你的问题,请参考以下文章

c#中如何判断文本框中是不是是数字(包括小数)

如何判断一个字符串是不是是数字包括小数

C#中如何限制Textbox控件中只能输入数字,要能用退格的

表示数值的字符串

如何判断一double类型的数值是不是有小数部分

表示数值的字符串