精华内容
下载资源
问答
  • 数字图像处理实战

    千人学习 2019-06-07 12:08:03
    本课程内容主要选取自stanford EE368/CS232 课程的学生作业。我将给大家分享几个有趣案例,争取把算法流程原理、代码部署都讲清楚。本次课程包含图像算法和机器学习,编程工具主要包括python,c++,android,matlab...
  • opencv神经网络ann识别数字

    热门讨论 2016-05-13 09:24:46
    opencv神经网络ann识别数字 详见http://blog.csdn.net/qq_15947787/article/details/51385861
  • 基于opencv的数字识别

    万次阅读 多人点赞 2018-09-12 15:44:29
    最近学习了opencv,然后想通过其对图片上的数字进行识别,参考了网上几篇关于opencv数字识别的博客,我自己也写了一个程序玩玩。我是在vs2017和opencv3.4.1环境下实现的。  这里先说一下我的思路和步骤: 加载...

        最近学习了opencv,然后想通过其对图片上的数字进行识别,参考了网上几篇关于opencv数字识别的博客,我自己也写了一个程序玩玩。我是在vs2017和opencv3.4.1环境下实现的。

        这里先说一下我的思路和步骤:

    1. 加载需要识别的图片,然后将其转化为二值图
    2. 寻找数字的外轮廓,切记不可以找全部轮廓,否则一个数字将会有多个轮廓,识别起来就很麻烦了
    3. 对轮廓进行排序,因为使用findcontours函数寻找到的轮廓顺序不一定是我们想要的,因此需要对找到的数字轮廓根据输入的图片进行排序
    4. 按顺序将数字轮廓分割,一个一个提取出来
    5. 进行识别和匹配,将提取出来的数字与模板数字(需要自己创建)进行比较,这里采用两幅图片像素相减的方法,寻找出差值最小的图片即为最匹配的数字 

    一、图片预处理

        将输入的图片转化为二值图以便寻找轮廓

            //输入要识别的图片,并显示
    	Mat srcImage = imread("number.jpg");
    	imshow("原图", srcImage);
    	//对图像进行处理,转化为灰度图然后再转为二值图
    	Mat grayImage;
    	cvtColor(srcImage, grayImage, COLOR_BGR2GRAY);
    	Mat binImage;
    	//第4个参数为CV_THRESH_BINARY_INV是因为我的输入原图为白底黑字
    	//若为黑底白字则选择CV_THRESH_BINARY即可
    	threshold(grayImage, binImage, 100, 255, CV_THRESH_BINARY_INV);

    二、寻找数字轮廓

         

            //寻找轮廓,必须指定为寻找外部轮廓,不然一个数字可能有多个轮廓组成,比如4,6,8,9等数字
    	Mat conImage = Mat::zeros(binImage.size(), binImage.type());
    	vector<vector<Point>> contours;
    	vector<Vec4i> hierarchy;
    	//指定CV_RETR_EXTERNAL寻找数字的外轮廓
    	findContours(binImage, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE);
    	//绘制轮廓
    	drawContours(conImage, contours, -1, 255);

     

     三、对轮廓进行排序

         在排序之前呢,我们需要定义一个类,用来存放轮廓的外接矩阵以及方便后续的排序

    class myRect
    {
    public:
    	myRect(){}
    	~myRect(){}
    	myRect(Rect &temp):myRc(temp){}
    	//比较矩形左上角的横坐标,以便排序
    	bool operator<(myRect &rect)
    	{
    		if (this->myRc.x < rect.myRc.x)
    		{
    			return true;
    		}
    		else
    		{
    			return false;
    		}
    	}
    	//重载赋值运算符
    	myRect operator=(myRect &rect)
    	{
    		this->myRc = rect.myRc;
    		return *this;
    	}
    	//获取矩形
    	Rect getRect()
    	{
    		return myRc;
    	}
    private:
    	Rect myRc;//存放矩形
    };

     

        有了这个类之后,我们可以将一个一个轮廓外接矩阵保存于该类中。而且类中重载了比较操作符,很容易对轮廓进行排序。

            //将每个数字,分离开,保存到容器中
    	vector<myRect> sort_rect;
    	for (int i = 0; i < contours.size(); i++)
    	{
    		//boundingRect返回轮廓的外接矩阵
    		Rect tempRect = boundingRect(contours[i]);
    		sort_rect.push_back(tempRect);
    	}

        排序算法的话,采用比较简单的冒泡法

            //对矩形进行排序,因为轮廓的顺序不一定是数字真正的顺序
    	for (int  i = 0; i < sort_rect.size(); i++)
    	{
    		for (int j = i + 1; j < sort_rect.size(); j++)
    		{
    			if (sort_rect[j] < sort_rect[i])
    			{
    				myRect temp = sort_rect[j];
    				sort_rect[j] = sort_rect[i];
    				sort_rect[i] = temp;
    			}
    		}
    	}

        这样,sort_rect容器中的轮廓矩形是按我们输入的图片中的数字顺序存放的。

    四、加载(新建)数字模板

        我们在进行数字匹配时,需要先加载模板进行比较。如果没有就要先新建一个。新建模板需要输入的是0-9的数字模板,不用修改程序,只需要添加以下代码。

            /*加载模板,若没有则需自己新建一个*/
    
    	//新建,运行一次就好,不过制作模板的材料为0-9十个数字的图像
    	for (int i = 0; i < 10; i++)
    	{
    		Mat ROI = conImage(sort_rect[i].getRect());
    		Mat dstROI;
    		resize(ROI, dstROI, Size(40, 50),0, 0, INTER_NEAREST);
    		char name[64];
    		sprintf(name, "C:/Users/Administrator/Desktop/number_recognition/number_recognition/image/%d.jpg", i);
    		//imshow(str, dstROI);
    		imwrite(name, dstROI);
    	}

        制作模板其实就是将我们需要的ROI区域保存为图片,代码中的路径是我的路径,可以根据自己情况修改。    

        然后是加载模板,也就是从文件中将各个模板图片读入,路径根据自己的情况修改。

            //加载模板
    	vector<Mat> myTemplate;
    	for (int i = 0; i < 10; i++)
    	{
    		char name[64];
    		sprintf(name, "C:/Users/Administrator/Desktop/number_recognition/number_recognition/image/%d.jpg", i);
    		Mat temp = imread(name, 0);
    		myTemplate.push_back(temp);
    	}

    五、分割数字 

        分割数字比较容易,即通过轮廓外接矩形在二值图片上寻找我们要使用的ROI,然后分别保存下来,以供识别。根据排好序的sort_rect可以分割出待识别的数字。

            //按顺序取出和分割数字
    	vector<Mat> myROI;
    	for (int i = 0; i < sort_rect.size(); i++)
    	{
    		Mat ROI;
    		ROI = conImage(sort_rect[i].getRect());
    		Mat dstROI = Mat::zeros(myTemplate[0].size(),myTemplate[0].type());
    		resize(ROI, dstROI, myTemplate[0].size(), 0, 0, INTER_NEAREST);
    		myROI.push_back(dstROI);
    	}

     

    六、比较和匹配

        我采用的比较和匹配方法是,将absdiff计算模板和待识别数字的差值,然后比较出差值最小的即为最匹配的数字,从而实现匹配。在匹配前我们需要定义一个getPiexSum函数以计算两幅图片的差值的像素之和。

    //求图片的像素和
    int getPiexSum(Mat &image)
    {
    	int sum = 0;
    	for (int i = 0; i < image.cols; i++)
    	{
    		for (int j = 0; j < image.rows; j++)
    		{
    			sum += image.at<uchar>(j, i);
    		}
    	}
    	return sum;
    }

        下面进行匹配和输出

            //进行比较,将图片与模板相减,然后求全部像素和,和最小表示越相似,进而完成匹配
    	vector<int> seq;//顺序存放识别结果
    	for (int i = 0; i < myROI.size(); i++)
    	{
    		Mat subImage;
    		int sum = 0;
    		int min = 100000;
    		int min_seq = 0;//记录最小的和对应的数字
    		for (int j = 0; j < 10; j++)
    		{
    			//计算两个图片的差值
    			absdiff(myROI[i], myTemplate[j], subImage);
    			sum = getPiexSum(subImage);
    			if (sum < min)
    			{
    				min = sum;
    				min_seq = j;
    			}
    			sum = 0;
    		}
    		seq.push_back(min_seq);
    	}
    
    	//输出结果
    	cout << "识别结果为:";
    	for (int i = 0; i < seq.size(); i++)
    	{
    		cout << seq[i];
    	}
    	cout << endl;

    七、总结

            识别的结果图片:

        存在的不足:这种识别方式有个不好的点就是,模板的数字大小(比如我用的是48号字体大小)不能与待识别的数字的大小相差太多,否则会降低识别准确率。如果相差不是很大的话是可以准确识别的。然后该程序也只能识别单行数字,暂时还不能识别多行。但是可以在本程序的基础上做点修改就可以了。等以后有时间了再回来解决这两个问题。

        附上程序源码下载:https://download.csdn.net/download/m0_37543178/10662148

    展开全文
  • 输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下: 0: ling 1: yi 2: er 3: san 4: si 5: wu 6: liu 7: qi 8: ba 9: jiu 输入格式: 输入在一行中给出一个整数,如:...

    输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:

    0: ling
    1: yi
    2: er
    3: san
    4: si
    5: wu
    6: liu
    7: qi
    8: ba
    9: jiu
    输入格式:
    输入在一行中给出一个整数,如:1234。
    提示:整数包括负数、零和正数。
    输出格式:
    在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。
    输入样例:
    -600
    输出样例:
    fu liu ling ling

    #include<stdio.h>
    int main(void)
    {
    char c;
    c=getchar();
    while(c!='n'){
    if(c=='-') printf("fu");
    else if(c=='0') printf("ling");
    else if(c=='1') printf("yi");
    else if(c=='2') printf("er");
    else if(c=='3') printf("san");
    else if(c=='4') printf("si");
    else if(c=='5') printf("wu");
    else if(c=='6') printf("liu");
    else if(c=='7') printf("qi");
    else if(c=='8') printf("ba");
    else if(c=='9') printf("jiu");
    c=getchar();
    if(c!='\n')
    printf(" ");
    }
    return 0;
    }
    
    

    缺点:代码运行复杂,时间长。

    代码二

    #include <stdio.h>
    int count(int x);
    int main()
    {
      int n;
      if(scanf("%d",&n)){};//输入要读的整数
      int c;
      if(n<0)
      {
      	printf("fu ");
      	n=-n;
      }//当输入的整数为负数时,取负数的相反数
      c=count(n);
      for(int i=0;c>0;i++)//循环的控制条件为c>0,之前写成了n>0
      {
        int m;
        m=n/c;//取出该整数的第一位数字
        n%=c;
        switch (m)
    	{ 
        case 0:
            printf("ling");
            break;
        case 1:
            printf("yi");
            break;
        case 2:
            printf("er");
            break;
        case 3:
            printf("san");
            break;
        case 4:
            printf("si");
            break;
        case 5:
            printf("wu");
            break;
        case 6:
            printf("liu");
            break;
        case 7:
            printf("qi");
            break;
        case 8:
            printf("ba");
            break;
        case 9:
            printf("jiu");
        }
            if(c>9)//判断点,控制最后输出没有空格
    		{
            	printf(" ");
    		}
        c/=10;
      }
      return 0;
    }
    int count(int x)//例如-400,则返回值为100
    {
    	int cnt=1;
    	while(x>9)
    	{
    	    x/=10;
    	    cnt*=10;
    	}
    	return cnt;
    }
    
    展开全文
  • 解压 数字五笔 2013版rar包 安装szwb2013 版本 -------------------------------------------- 第二步 把 szwbService.exe 把 szwbService64.exe 把 szwbConfig.exe 把 注册.exe 上面4个文件全部复制到c:\...
  • 数字信号处理考试要点

    万次阅读 多人点赞 2019-01-06 11:48:07
    数字信号处理考点整理

    试卷框架

    一、填空题
    10个空,每个2分,10x2=20
    二、计算
    三、设计
    四、问答
    一题(5分)至多两道

    复习要点

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    复习知识点

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    考点分类

    1.IIR低通数字滤波器设计

    脉冲响应不变法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    双线性变换步骤
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    1.巴特沃思低通滤波器设计思路,基本步骤
    1.1确定数字性能指标,频率指标
    1.2求出模拟域的性能指标,边缘频率指标
    1.3根据巴特沃思型幅度平方函数求模拟滤波器阶数N
    1.4求通带截止频率wc
    1.5求归一化巴型滤波器模拟域表征系统函数Han(s)
    1.6由双线性变换把Han(s)变换到数字域系统函数h(z)

    2.双线性设计原理及优缺点
    原理 数字滤波器频率响应和模拟滤波器频率响应做相似变换,使得角频率之间是单极映射,可以避免频率响应的混叠失真,其中omg=2/T tan(w/2),s=2/T*(z-1)/(z+1)
    优点 可以避免频率响应的混叠失真
    缺点 频率之间的变换是非线性的,计算复杂度高
    A
    B
    C
    步骤要清晰
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    2.FIR低通数字滤波器设计

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    各种窗函数
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    设计
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    ①理想Hd(ejw)→hd(n)
    ②截短hd(n)
    h(n)=hd(n)w(n) 窗函数
    N 合适窗函数
    ③h(n)→H(ejw)→Hd(ejw)

    例题

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    3.FFT 8点 DIT 原理 信号流图 (8分)

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    4.DFT 与 DTFT 关系及z变换关系

    在这里插入图片描述
    在这里插入图片描述
    几大公式 物理含义
    w → k
    DFT和DTFT关系:
    一个序列的DFT,实际上就是这个序列的频谱(DTFT)在一个周期内等间隔抽样的样点值。
    通过这种方法,我们可以通过DFT来观察序列频谱(DTFT)在一个周期内的样点,从而分析信号的频谱。

    DFT和IDFT实际上就是DFS在一个周期上的取值。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    5.系统函数,频率响应

    幅频特性、相频特性、差分方程

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    重点解题知识

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    典型题

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    离散LTI系统的系统函数

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    6.数字信号系统流图直接型画法(符号+、-)

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    7.稳定、因果、左边、右边、双边

    因果、稳定:
    通过求单位脉冲响应h[k]
    因果性:判断h[k]=0,k<0是否成立
    稳定性:在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    化简难题:
    在这里插入图片描述
    左边、右边、双边:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    8.z变换求解 z的反变换(部分分式,留数法)

    h(n) H(z) x(t)/z x(z)z^n-1
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    9.时间分辨率,频率分辨率,信号最高截止频率

    To、N、w、f、N、k 量纲
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • C#判断字符串是否为数字字符串

    千次阅读 2018-12-27 09:59:45
    C#判断字符串是否为数字字符串 在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。 【方法一】:使用 try{} catch{} 语句。 我们可以在try语句块中试图将string...

    C#判断字符串是否为数字字符串
    在进行C#编程时候,有的时候我们需要判断一个字符串是否是数字字符串,我们可以通过以下两种方法来实现。
    【方法一】:使用 try{} catch{} 语句。
    我们可以在try语句块中试图将string类型的字符串变量转换为int类型,如果该字符串不是数字字符串则会抛出异常,这时在catch语句块中就能捕获异常。一旦发现异常,则不是数字字符串。
    我们可以以下三种方式将string类型转换为int类型。
    (1) int.Parse(string);
    (2) Convert.ToInt16(string); //当数字字符串的位数大于4的时候请使用Convert.ToInt32()
    (3) Convert.ToInt32(string);
    添加一个文本框TextBox1,和一个按钮Button1,当点击按钮时,判断文本框中的内容是否为数字字符串,是的话则输出转换后的数值。
    protected void Button1_Click(object sender, EventArgs e)
    {
    string message = TextBox1.Text.Trim();
    int result;
    if(isNumberic(message,out result))
    {
    string tt=“”);
    }
    protected bool isNumberic(string message,out int result)
    {
    //判断是否为整数字符串
    //是的话则将其转换为数字并将其设为out类型的输出值、返回true, 否则为false
    result = -1; //result 定义为out 用来输出值
    try
    {
    //当数字字符串的为是少于4时,以下三种都可以转换,任选一种
    //如果位数超过4的话,请选用Convert.ToInt32() 和int.Parse()

          //result = int.Parse(message);
          //result = Convert.ToInt16(message);
            result = Convert.ToInt32(message);    
            return true;
        }
        catch
        {
            return false;
        }
    

    }
    上述方法可以将int改为double,如 double.Parse(),这样就可以判断是否为浮点数字符串
    【方法二】:通过正则表达式来判断。
    用正则表达式来验证字符串是否为数字字符串。我们要用到Regex类的isMatch()方法。该类在System.Text.RegularExpressions; 您可以通过using System.Text.RegularExpressions;导入命名空间来访问Regex类。也可以直接通过System.Text.RegularExpressions.Regex 来访问。
    protected bool isNumberic(string message,out int result)
    {
    System.Text.RegularExpressions.Regex rex=
    new System.Text.RegularExpressions.Regex(@"^\d+KaTeX parse error: Expected 'EOF', got '}' at position 185: … return false; }̲ 通过正则表达式判断是否匹配,…"))
    {
    //成功
    Page.ClientScript.RegisterStartupScript(this.GetType(), “”, “”);
    }
    补充
    //正则匹配
    匹配中文字符的正则表达式: [\u4e00-\u9fa5]
    匹配双字节字符(包括汉字在内):[^\x00-\xff]
    匹配空行的正则表达式:\n[\s| ]\r
    匹配HTML标记的正则表达式:/<(.
    )>.</\1>|<(.) />/
    匹配首尾空格的正则表达式:(^\s*)|(\s*$)(像vbscript那样的trim函数)
    匹配Email地址的正则表达式:\w+([-+.]\w+)@\w+([-.]\w+).\w+([-.]\w+)*
    匹配网址URL的正则表达式:http://([\w-]+.)+[\w-]+(/[\w- ./?%&=]*)?
    以下是例子:
    利用正则表达式限制网页表单里的文本框输入内容:
    用正则表达式限制只能输入中文:οnkeyup=“value=value.replace(/[^\u4E00-\u9FA5]/g,’’)”
    onbeforepaste=“clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\u4E00-\u9FA5]/g,’’))”
    1.用正则表达式限制只能输入全角字符: οnkeyup=“value=value.replace(/[^\uFF00-\uFFFF]/g,’’)”
    onbeforepaste=“clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\uFF00-\uFFFF]/g,’’))”
    2.用正则表达式限制只能输入数字:οnkeyup="value=value.replace(/[^\d]/g,’’)
    "onbeforepaste=“clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,’’))”
    3.用正则表达式限制只能输入数字和英文:οnkeyup="value=value.replace(/[\W]/g,’’)
    "onbeforepaste=“clipboardData.setData(‘text’,clipboardData.getData(‘text’).replace(/[^\d]/g,’’))”

    展开全文
  • 求整数的位数及各位数字之和

    千次阅读 多人点赞 2019-11-24 11:28:45
    对于给定的正整数N,求它的位数及其各位数字之和。 输入格式: 输入在一行中给出一个不超过10​的9次幂​​的正整数N。 输出格式: 在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。 输入样例: ...
  • 央行数字货币(数字人民币)DCEP

    千次阅读 多人点赞 2020-11-09 10:45:23
    摘要数字人民币,是中国人民银行尚未发行的法定数字货币,即“数字货币电子支付”(DC/EP,Digital Currency Electronic Payment)。数字人民币是我国法定货币的数字形态,也是为数字经济发展提供的通用型基础货币,由...
  • 罗马数字与阿拉伯数字的相互转换

    万次阅读 2018-05-02 09:27:22
      最近遇到一道非常有趣的题目,题目大意如下:有一个富翁在银河系里做生意,而银河系使用的是罗马数字,所以他需要一个精明能干的助手,帮助他完成罗马数字与阿拉伯数字的相互转换,题目在这个背景下衍生出交易...
  • Android之增长的数字动画

    热门讨论 2014-11-16 17:04:47
    Android之增长的数字动画
  • Python判断字符串是否为数字

    万次阅读 多人点赞 2018-12-03 18:28:44
    1、str.isalnum() 所有字符都是数字或者字母 2、str.isalpha() 所有字符都是字母 3、str.isdigit() 所有字符都是数字 4、str.islower() 所有字符都是小写 5、str.isupper() 所有字符都是大写 6、str.istitle() 所有...
  • 数字IC前端后端的区别,数字IC设计流程与设计工具

    万次阅读 多人点赞 2018-11-27 19:57:23
    数字IC就是传递、加工、处理数字信号的IC,是近年来应用最广、发展最快的IC品种,可分为通用数字IC和专用数字IC。 数字前端以设计架构为起点,以生成可以布局布线的网表为终点;是用设计的电路实现想法;主要包括:...
  • 基于opencv的手写数字字符识别

    千次下载 热门讨论 2013-11-29 17:36:00
    实现了基于opencv 的手写数字字符识别 主要参照文章: http://blog.damiles.com/2008/11/basic-ocr-in-opencv/ 基本上就是按着人家的代码来配置的,完后小改动了几个参数,写了一个文档,方便大家学习吧。
  • 在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。 输入样例: 1234567890987654321123456789 输出样例: yi san wu 思路: 求各个位数上的和 求得的和再将各个...
  • 整数152的各位数字

    千次阅读 多人点赞 2018-10-20 00:18:56
    本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。 输入格式: 本题无输入。 输出格式: 按照以下格式输出: 152 = 个位数字 + 十位数字*10 + 百位数字*100 代码 #include&lt;stdio.h&gt...
  • 关于上下变频的仿真:数字插值滤波与数字正交上变频的仿真与实验----基于高速DAC芯片数字正交下变频与数字滤波抽取的仿真与实验----基于高速ADC芯片 1.DUC与DDC的应用场景来源[2] 2.DUC与DDC的各部分简介 3.DUC与...
  • 输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。(C语言) #include&amp;lt;stdio.h&amp;gt; int main(){ char ch; int space=0,number=0,character=0,other=0; ch=getchar...
  • 数字图像处理 冈萨雷斯 第三版 课后答案绝对完整

    千次下载 热门讨论 2015-03-08 08:13:43
    数字图像处理 冈萨雷斯 第三版 课后答案绝对完整
  • 数字孪生

    千次阅读 2019-05-07 22:05:44
    未来,所有的企业都将成为数字化的公司,这不只是要求企业开发出具备数字化特征的产品,更指的是通过数字化手段改变整个产品的设计、开发、制造和服务过程,并通过数字化的手段连接企业的内部和外部环境。...
  • VisualC++数字图像处理技术详解 PDF电子书+源代码 第二部分 《Visual C++数字图像处理技术详解》以数字图像处理技术为主线,全面地介绍在Visual C++环境下进行数字图像处理程序设计的方法。内容涵盖了数字图像的变换...
  • 模拟电路与数字电路基础知识点总结

    万次阅读 多人点赞 2019-12-06 17:37:54
    最近模电真的是让人头疼,模电马上就要结课了,而我的只是水平还停留在第一章第一节, 总结起来就是老师讲课听不懂,我又不想听,再加上...模拟电路与数字电路基础知识点总结 千万不要挂科啊~!!!!!!!!!1 ...
  • Java小游戏之数字彩虹雨

    千次下载 热门讨论 2014-12-07 20:08:50
    这是仿照黑客帝国的数字彩虹雨Java小游戏,供大家学习交流
  • 数字图像处理 冈萨雷斯 第三版 中文版

    千次下载 热门讨论 2014-11-21 23:29:34
    数字图像处理领域 《数字图像处理 第三版 》作为主要教材已有30多年 这一版本是作者在前两版的基础上修订而成的 是前两版的发展与延续 除保留了前两版的大部分内容外 根据读者的反馈 作者在13个方面对《数字图像...
  • 冈萨雷斯 数字图像处理 第三版

    千次下载 热门讨论 2013-04-13 09:43:56
    冈萨雷斯数字图像处理,第三版
  • python实现统计输入字符中字母,数字,空格和其他字符的个数 # 输入一行字符串,分别统计其中字母,数字,空格和其他字符的个数 word = 0 num = 0 other = 0 space = 0 a = input("请输入一串字符: ") for k in a: ...
  • 使用函数统计指定数字的个数 本题要求实现一个统计整数中指定数字的个数的简单函数。 CountDigit(number,digit ) 其中number是整数,digit为[1, 9]区间内的整数。函数CountDigit应返回number中digit出现的次数。 ...
  • VisualC++数字图像处理技术详解 PDF电子书+源代码.part3 《Visual C++数字图像处理技术详解》以数字图像处理技术为主线,全面地介绍在Visual C++环境下进行数字图像处理程序设计的方法。内容涵盖了数字图像的变换、...
  • 发票数字字体

    热门讨论 2012-05-10 20:03:57
    增值发票NO后的数字字体
  • 数字图像处理与机器视觉原书pdf版

    热门讨论 2014-01-13 15:24:59
    数字图像处理与机器视觉原书pdf版,书中例子用C++和Matlab编写,由于文件过大,光盘另外上传。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,438,323
精华内容 1,775,329
关键字:

数字