精华内容
下载资源
问答
  • 将字符串转换数字

    千次阅读 2015-12-11 15:02:53
    今天准备自己写一个将json转换成对象的框架,就想到了json的内存存储格式,json实质是一个字符串,顺便就...就像怎样将数字字符串转换数字。   - (void) transformStringToNum( char *s){  int sum=0;  fo...

            今天准备自己写一个将json转换成对象的框架,就想到了json的内存存储格式,json实质是一个字符串,顺便就想到了文本的存储,所有字符都是以ASCII码进行存储的,数字的ASCII码的值为数字值加上48。就像怎样将数字字符串转换成数字。

     

    - (void) transformStringToNum( char  *s){

         int sum=0;

         for ( ; *s!= ' \0 ' ; s++){

          int  a=(int)*s;

                   sum=sum*10+(a-48);   //数字的ASCII码的值为数字值加上48

         }

         printf("转换后的数值是 : %d",sum);

    }

     

     

    最后 由于春运快到了,给大家安利一个抢火车票的小程序心到抢票,微信扫码关注点击立即抢票即可

    个人亲测效率很高,大家也可以加他们官方微信  xdticket  咨询。

    展开全文
  • 将字符串转换为数字

    2011-10-11 18:53:00
    (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?) 想法: 在不考虑负数的情况下,生成整数的基本做法就是不断做乘法,其实就是一个最基本的多项式: 12345 = 1*10^4+2*10^3+3*10^2+4*10+5 = 10*(10*...

    问题:

    写一个函数,检查字符是否是整数,如果是,返回其整数值。
    (或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)

    想法:

    在不考虑负数的情况下,生成整数的基本做法就是不断做乘法,其实就是一个最基本的多项式:

    12345 = 1*10^4+2*10^3+3*10^2+4*10+5 = 10*(10*(10*(1*10+2)+3)+4)+5

    用程序很容易实现:

    #include <stdio.h>
    #include <ctype.h>
    int GetInt(const char *buf){
    int r, sig;
    sig = 0;
    buf;
    if(*buf == '-'){
    sig = 1;
    ++buf;
    }
    r = 0;
    while(isdigit(*buf)){
    r *= 10;
    r += *buf-'0';
    ++buf;
    }
    if(sig)
    r = -r;
    return r;
    }
    int main(){
    char buf[128];
    do{
    scanf("%s", buf);
    printf("input is: %d\n", GetInt(buf));
    }while(1);
    return 0;
    }

    至于只用4行代码实现,好像有点困难…

    转载于:https://www.cnblogs.com/huyc/archive/2011/10/11/2207680.html

    展开全文
  • 字符串:怎样转换字符串为数字类型? (转)[@more@]字符串:怎样转换字符串...当将字符串转换为数值类型时, 有一项东西你不允许忽略:转换可能因为你正在转换的字符串可能不包含有效的数字表示法而失败 例如, 如果...
    字符串:怎样转换字符串为数字类型? (转)[@more@]

    字符串:怎样转换字符串为数字类型?


    当将字符串转换为数值类型时, 有一项东西你不允许忽略:
    转换可能因为你正在转换的字符串可能不包含有效的数字表示法而失败

    例如, 如果你想将"Hello"转换为数字, 转换将失败

    老的C方法(不赞成)

    许多人用atoi(), atof() 和这个“家族”中的其它函数. 它们方便应用,但是有一个重要的缺点:
    在转换失败和转换字符串"0"时都返回0, 这样使得一致性错误检查变得几乎不可能。 为了完整性我们给出了小段代码:

     

    代码:
    --------------------------------------------------------------------------------
      const char* str_int = "777";
      const char* str_float = "333.3";
      int i = atoi(str_int);
      float f = atof(str_float);
    --------------------------------------------------------------------------------


    一个更好的办法:

    更有一点复杂, 更遗一致的办法是利用sscanf()

    代码:
    --------------------------------------------------------------------------------
      const char* str_int = "777";
      const char* str_float = "333.3";
      int i;
      float f;
      if(EOF == sscanf(str_int, "%d", &i)){
      //错误
      }
      if(EOF == sscanf(str_float, "%f", &f)){
      //错误
      }
    --------------------------------------------------------------------------------

    Since sscanf() takes a const char* parameter, you can directly use a CString with it:
    因为sscanf()用const char* 作为参数, 所以你可以直接用CString作参数:

    代码:
    --------------------------------------------------------------------------------
      CString str_int("777");
      if(EOF == sscanf(str_int, "%d", &i)){
      //error
      }
    --------------------------------------------------------------------------------

    小心格式描述符(如本例中的"%d")。 sscanf()没有办法检查格式描述符与传递变量的类型匹配与否。如果不匹配你将得到不可预期的结果。 同样注意sscanf()可以一次从字符串中提取一个或多个数值。 详细信息请查阅MSDN。

     

    C++ 方法


    如下的例子展示了利用标准C++类的来完成这个任务的模板函数

    代码:
    --------------------------------------------------------------------------------
    #include
    #include
    #include

    template
    bool from_string(T &t,
      const std::string &s,
      std::ios_base & (*f)(std::ios_base&))
    {
      std::istringstream iss(s);
      return !(iss>>f>>t).fail();
    }

    int main()
    {
      int i;
      float f;
      // from_string()的第三个参数应为如下中的一个
      // one of std::hex, std::dec 或 std::oct
      if(from_string(i, std::string("ff"), std::hex)){
      std::cout<  }
      else{
      std::cout<  }
      if(from_string(f,
      std::string("123.456"),
      std::dec))
      {
      std::cout<  }
      else{
      std::cout<  }
      return 0;
    }

    /* 输出:
    255
    123.456
    */
    --------------------------------------------------------------------------------

    这个方法不仅仅非常别致, 而且也是类型安全的, 因为编译器在编译时会根据操作数的类型将挑选适当的std::istringstream ::operator >>()。


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993440/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/10752043/viewspace-993440/

    展开全文
  • 字符串怎样将数字类型转换为字符串 (转)[@more@]字符串怎样将数字类型转换为字符串 老的C方法(不赞成) 代码:---------------------------------------------------...
    字符串:怎样将数字类型转换为字符串 (转)[@more@]

    字符串:怎样将数字类型转换为字符串

    老的C方法(不赞成)

    代码:
    --------------------------------------------------------------------------------
      char *c[10];  // 完全足够大-不要忘了为'/0'预留额外的字节
      int i = 1234;
      sprintf(c, "%d", i);
    --------------------------------------------------------------------------------

    更多的信息参见MSDN中的sprintf()


    利用CString

    代码:
    --------------------------------------------------------------------------------
      int i = 1234;
      CString cs;
      cs.Format("%d", i);
    --------------------------------------------------------------------------------

    这个格式描述符同sprintf()中的一样,参见MSDN中的CString文档--它相当的直接。

    一句警告: 格式描述符 ("%d")和实际传递的参数的不匹配将导致不能预期的结果, 这对sprintf()和CString::Format()两者都一样。

    C++ 方法:

    如下的例子展示了利用标准C++类的来完成这个任务的模板函数

    代码:
    --------------------------------------------------------------------------------
    #include
    #include
    #include

    template
    std::string to_string(T t, std::ios_base & (*f)(std::ios_base&))
    {
      std::ostringstream oss;
      oss << f << t;
      return oss.str();
    }

    int main()
    {
      // to_string()的第二个参数应为如下中的一个
      // std::hex, std::dec 或 std::oct
      std::cout<(123456, std::hex)<<:endl>  std::cout<(123456, std::oct)<<:endl>  return 0;
    }

    /* 输出:
    1e240
    361100
    */
    --------------------------------------------------------------------------------

    这个方法不仅仅非常别致, 而且也是类型安全的, 因为编译器在编译时会根据操作数的类型将挑选适当的std::ostringstream ::operator <

    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-993439/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/10752043/viewspace-993439/

    展开全文
  • 将字符串转换为数值类型时, 有一项东西你不允许忽略:转换可能因为你正在转换的字符串可能不包含有效的数字表示法而失败例如, 如果你想将"Hello"转换为数字, 转换将失败老的C方法(不赞成)许多人用atoi(), ...
  • 怎样将数字转换为字符串?

    千次阅读 2014-07-18 21:10:00
    C语言提供了几个标准库函数,可以任意类型(整型、长整型、浮点型等)的数字转换为字符串。以下是用itoa()函数整数转换为字符串的一个例子: # include # include void main (void); void main ...
  • 字符串怎样将数字类型转换为字符串老的C方法(不赞成)代码:-------------------------------------------------------------------------------- char *c[10]; // 完全足够大-不要忘了为/0预留额外的字节 int...
  • 数字转换为字符串? ... C语言提供了几个标准库函数,可以任意类型(整型、长整型、浮点型等)数字转换为字符串。以下是用itoa()函数整数转换为字符串的一个例子: # include # include
  • http://dev.csdn.net/develop/article/18/18077.shtmfrom http://www.codeguru.com/forum/showthread.php?s=&threadid=231056作者Blog:http://blog.csdn.net/bugfree/对该文的评论 Fingo ( 2003-04-3
  • 因为有时候要使用到这些转换类型的函数,但是常常会忘掉...PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:(int)、(integer):转换成整形(float)、(double)、(real):转换成浮点型(string):转换字符串...
  • 在串口通信中遇到的一个比较常见的问题就是需要把字节流转换为字符串的问题,不管是需要将接受到的数据打印到log还是需要将字符串显示到Demo上,遇到这种问题还要自己写一个转换函数太过于麻烦,那么标准库中是否有...
  • /****************************... 功能:由16进制字符转换到16进制  参数:pStrH:要转换的16进制字符,  nStrHLen:16进制字符长度  pDataB :输出参数,16进制数字 ****************************************
  • 一个字符串转换成一个整数,要求不能使用字符串转换整数的库函数。 数值0或者字符串不是一个合法的数值则返回0 输入描述: 输入一个字符串,包括数字字母符号,可以空 输出描述: 如果是合法的数值表达则返回该...
  • 比如说str=“ 12”(注意含空格),awk在何种情况...如果只能自动转换“12”这样的的话,怎样用最简单的办法含空格的数字串转为数值? 需要数字的地方才可能转换。 strtonum() print str+0
  • """ 怎样将"100"转换为100(2种方法) """ a = "100" #方法1: a = int(a) ...一、python中字符串转换数字 (方法1) 类中进行导入: import string str='555' num=string.atoi(str) num即为str...
  • 于是想出将整型转换为字符串,再逐一寻找的暴力做法,但怎样将整型变量转换为字符串变量呢,C中头文件里有atoi现成的函数可以使用,倔强的自己非要自己写一个,同样简单粗暴方法 #include<iostream> using ...
  • 现有字符串s[]=“ 2016/10/01 2016/12/23 2017/01/01 .....”,其中的...现在想在循环中使用sscanf("%d/%d%d",s,&a,&b,&c)所有日期形式的数字字符转换为数字 。问题是如何在每一次循环中跳过前面已经截取的字符串
  • 字符串算法

    2019-02-11 21:44:00
    个人理解:将字符串(...)通过自定义的运算方式转换为数字(...)。这样处理起来更加快捷,也节省内存空间。 怎样$HASH$?我个人是按数字的进制方法处理的。 例子:一串由小写字母组成的字符串,我们可将其视作一个二...
  • 输入的数字字符数组,再从左往右依次被5隔开的字符串拷贝到一个新的整型数组(需进行数据类型转换)(题目中有输入数据保证,因此不用担心整型变量可表示范围不足的问题),给新的数组元素进行排序后输出...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 241
精华内容 96
关键字:

怎样将字符串转换为数字