Linux下C语言字符串操作之字符串转数值型

1,字符串转整型(一)
#include <stdlib.h>
int atoi(const char *nptr);
字符串转化为整型
long atol(const char *nptr);
字符串转化为长整型
long long atoll(const char *nptr);
long long atoq(const char *nptr);
字符串转化为long long 类型
英文手册很简单,直接上
说明:The atoi() function converts the initial portion of the string pointed to by nptr to int.  The behavior is the same as strtol(nptr, (char **) NULL, 10); except that atoi() does not detect errors. The  atol() and atoll() functions behave the same as atoi(), except that they convert the initial portion of the string to their return type of long or long long.  atoq() is an obsolete name for atoll().

2,字符串转整型(二)
#include <stdlib.h>
long int strtol(const char *nptr, char **endptr, int base);
字符串转长整型,base参数为进制,如转化为10进制,则base应该为10
long long int strtoll(const char *nptr, char **endptr, int base);
字符串转化为long long int
说明:详细说明请参考man手册。

3,字符串转浮点数
#include <stdlib.h>
double strtod(const char *nptr, char **endptr);
字符串转 双精度浮点数 double 类型
float strtof(const char *nptr, char **endptr);
字符串转 单精度浮点数 float 类型
long double strtold(const char *nptr, char **endptr);
字符串转 long double 类型

有了以上库函数,可以很方便的把字符串转化为数值型,真系灰常的方便啊,有木有?

示例代码:

#include <stdio.h>
#include <stdlib.h>
int main()

{

  char *str_int="892";
  int int_val=atoi(str_int);
  printf("字符串转整型:%d\n",int_val);
  long long_val=atol(str_int);
  printf("字符串转长整型:%ld\n",long_val);
  char *str_float="238.23";
  char *endptr;
  float float_val=strtof(str_float,&endptr);
  printf("字符串转单精度浮点型:%f\n",float_val);
  double double_val=strtod(str_float,&endptr);
  printf("字符串转双精度浮点型:%f\n",double_val);
  char *str_long="9839282";
  int base=10;
  long long_v=strtol(str_long,&endptr,base);
  printf("strtol : %ld\n",long_v);
  return 0;
}

代码输出:

  1. 字符串转整型:892
  2. 字符串转长整型:892
  3. 字符串转单精度浮点型:238.229996
  4. 字符串转双精度浮点型:238.230000
  5. strtol : 9839282


说明:以上各函数的man手册都有详尽的解释,详情请查阅man手册。

转载于:https://www.cnblogs.com/wycg1984/archive/2013/03/30/2989995.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值