13.字符串形式的数字转数值类型
#include <stdio.h> #include <stdlib.h> int main() { char * spt = " 1100100.1111end...."; printf("将字符串%s转成数值类型:====2int:%d====2long:%ld====2double:%f\n", spt, atoi(spt), atol(spt), atof(spt) ); /* 1.int atoi(const char *nptr) 2.long int atol(const char *nptr) 3.double atof(const char *nptr) 注意事项:1.函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进) 2.如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 3.该函数要求被转换的字符串是按十进制数理解的 */ char *endpt; long int l1 = strtol(spt,&endpt,2); printf("原字符串为:%s====long:%ld====剩余的:%s\n", spt ,l1 ,endpt ); /* 1.long int strtol(const char *nptr,char **endptr,int base); 2.unsigned long int strtoul(const char *nptr,char **endptr,int base); 3.double strtod(const char *nptr,char **endptr,int base); 参数1:指定被扫描的字符串 参数2:endptr是一个传出参数,函数返回时指向后面未被识别的第一个字符。 例如 char *pos; strtol("123abc", &pos, 10); strtol返回123 pos指向字符串中的字母a。 如果字符串开头没有可识别的整数, 例如char *pos; strtol("ABCabc", &pos, 10); 则strtol返回0,pos指向字符串开头,可以据此判断这种出错的情况,而这是atoi处理不了的 参数3:不仅可以识别十进制整数,还可以识别其它进制的整数,取决于base参数, 比如 strtol("0XDEADbeE~~", NULL, 16) 返回0xdeadbee的值,s trtol("0777~~", NULL, 8)返回0777的值。 */ return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界