`

我自己写的一个string转换成int的函数

    博客分类:
  • C#
 
阅读更多
功能不强,比系统的略快。但胜在可以修改,都不进行安全判断,可以比系统的快上10倍。

//char的函数能改进
//for循环可以增加并行性
//负号的处理可以尝试改
public static int StringToInt(string s)
...{
    int i = 0;
    for (; i < s.Length; i++)
        if (char.IsWhiteSpace(s[i]) == false)
            break;
    char negative = s[i];   //负数
    if (negative == ''-'' || negative == ''+'') i++;
    long result = 0;    //改为int或者uint,快很多
    for (; i < s.Length; i++)
    ...{
        if (char.IsDigit(s[i]) == false)    //如果能省略,快很多
            throw new FormatException("Input string was not in a correct format.");
        result = 10 * result + (s[i] - ''0'');
        if (result > int.MaxValue)          //如果能省略,快很多
            throw new OverflowException("Value was either too large or too small for an Int32.");
    }
    return (int)(negative == ''-'' ? -result : result);
}  




分享到:
评论

相关推荐

    C++中将string类型转化为int类型

    写程序需要将string转化为int,所以就探索了一下。 方法一:atoi函数 atoi函数将字符串转化为整数,注意需要stdlib库。...显然,atoi需要的事const char*类型,而我上面给的上string类型,所以就要 多加一个函

    Python将list中的string批量转化成int/float的方法

    最近在处理词向量这块,因为平时习惯把处理的词向量保存成文件,但是txt...以上这篇Python将list中的string批量转化成int/float的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开

    VB中各种数据类型转换函数

    Cint函数: 强制将一个表达式转换成-32,768 至 32,767的整型; CLng函数: 强制将一个表达式转换成-2,147,483,648 至 2,147,483,647的长整型; Cdec函数: 强制将一个表达式转换成Decimal 数据类型; CDbl函数: 强制将...

    MyInteger类

    设计一个名为MyInteger的类,类包含: 一个名为valuede 的int型数据域,保存次对象表示...一个静态函数parseInt(string)将一个字符串转换为一个int型值。 画出类的UML图,实现类。编写一个客户程序,测试类的所有函数。

    不用string.h库函数的,方便易用的字符串处理函数,减少库带来代码量

    减少库的使用,解决那些需要小代码量,但苦恼于没有简易的字符串处理函数的郁闷 char *itoa_private(int...int gsmBytes2String(const unsigned char* pSrc, char* pDst, int nSrcLength);//字节数据转换为可打印字符串

    C语言函数库手册 按函数功能快速查询

    void abort() 此函数通过调用具有出口代码3 的_exit 写一个终止信息于stderr,并异常终止程序。无返回值 int exec…装入和运行其它程序 ...... 转换子程序,函数库为math.h、stdlib.h、ctype.h、float.h char *ecvt...

    Super string 库

    //获得当前工作路径,不含最后一个字符“\” CString ascii_2_cstring(int ascii);// 把ascii字符转换成对应的字符,返回cstring类型 //-------------字符串转字符串-------------- std::string CString_2_std...

    Java中颜色的String和Color对象之间的互相转换

    例如,我们可以使用 `Color(int r, int g, int b)` 构造函数根据红、绿、蓝三个分量的值创建颜色对象。 在将字符串形式的颜色转换为 Color 对象时,我们可以使用 `Integer.parseInt` 方法将十六进制字符串解析为...

    delphi通用函数单元一

    {在一个字符串中查找某个字符串的位置} function StrNum(ShortStr:string;LongString:string):Integer; {测试通过} {* 返回某个字符串中某个字符串中出现的次数} function FindStr(ShortStr:String;LongStrIng:...

    XML格式和Data格式转换类

    今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数。 在写的过程,为方便以后的使用,我对这一功能进行分装。该类的具体格式如下: XmlConvert类 命名空间:...

    delhi常用函数及处理函数集合

    基于delphi语言常用的函数整理,里面涵盖有各种转换及硬件信息抓取函数

    C# 半角全角字符转换函数

    半角全角字符转换函数 收藏 public string ToSBC(string input) { //半角转全角: char[] c=input.ToCharArray(); for (int i = 0; i ; i++) { if (c[i]==32) { c[i]=(char)12288; continue; }...

    c++一些基本的处理函数

    bool __stdcall stringtohex(unsigned char *inbuf,int inlen,unsigned char * outbuf); bool __stdcall ishex(BYTE *buf,int bl); bool __stdcall isbcd(BYTE *buf,int bl); bool __stdcall encodebcd(BYTE *buf,...

    C++Primer中文版_第4版__函数_习题解答_文字分享.pdf

    "C++ Primer中文版_第4版_函数_...编写一个函数,它接受一个int和一个指向int的指针,并返回较大的值。 这些习题涵盖了函数的定义、参数、返回值、函数调用等基础知识,旨在帮助读者更好地理解C++函数的使用和实现。

    PHP常用函数手册大全

    函数描述:int ereg (string pattern ,string string ,array[regs]); 说明:函数ereg在参数string中寻找pattern中给出的正规表达式相匹配的项。如果提供了可选reg数组,则每一项匹配将顺序存储在数组regs[1]...

    C++ 时间类型转换,包括string int64以及chrono::time-point之间的转换

    时间格式,string int64以及chrono::time_point之间的转换函数 适用于在项目中需要使用到时间操作,但是又不希望引用其他三方库的需求

    C++中MFC开发CString类转换函数大全

    C++中MFC开发CString类转换函数大全,涵盖以下函数: CString stringtoC(string x);//string类转CString类 string Ctostring(CString x);//CString类转string类 double Ctodouble(CString x);//CString类转double类...

    c函数与头文件

    string.h 头文件提供了一组函数来处理字符串,例如字符串复制、拼接和比较。 strstrea.h strstrea.h 头文件提供了一组函数来处理基于数组的输入/输出。 time.h time.h 头文件定义了关于时间的函数,例如获取...

    pl0语言 分离解释器

    然后写出一个转换的函数 ,把里面新加的 StringToInt 吧J中间代码换成0 1 2 3 4…… 为了进入那个switch 里面的case们 main函数里加了个 while(!feof(readfile)) { fscanf(readfile,"%s",temp); fscanf...

    itoa-benchmark, C 整数到字符串转换基准.zip

    itoa-benchmark, C 整数到字符串转换基准 itoa基准测试Copyright(c) 2014 -2016 ( miloyip@gmail.com )简介这个基准评估从 32 -bit/64位 整数转换为十进制字符串的性能。 函数Prototype包括:void u32

Global site tag (gtag.js) - Google Analytics