C当中有一些函数专门用于把字符串形式转换成数值形式。
printf()函数和sprintf()函数 -->通过转换说明吧数字从数字形式转换为字符串形式;
scanf()函数把输入字符串转换为数值形式;
应用场景:
编写程序需要使用数值命令形参,但是命令形参被读取为字符串。要使用数值必须先把字符串转换为数字。
atoi()函数:
int atoi(char *str);
#include
#include
int main(void)
{
int i,times;
if(argc < || times = atoi(argv[])
printf("Usage:%s positive-number\n",argv[]);
else
for(i=;i
puts("Hello,good looking!");
return ;
}
程序运行示例:
$ hello 3
Hello, good looking!
Hello, good looking!
Hello, good looking!
作用就是根据参数,选择打印几次Hello, good looking!
如果参数开头是非数字字符,则atoi函数返回值是0;因为这种行为是未定义的。因此需要有错误检测功能的strtol()函数会更安全。
头文件:不仅包含atoi()函数,还包含了atof()函数、atol()函数;
atof()函数把字符串转换成double类型的值;
atol()函数把字符串转换成long类型的值;
++++++++++++++++++++++++++++++++++++++++++++++++++++++
strtol函数原型:long strtol(const char * restrict nptr,char ** restrict endptr, int base);
#include
#include
#define LIM 30
char * s_gets(char * st, int n);
int main(void)
{
char number[LIM];
char * end;
long value;
puts("Enter a number (empty line to quit);");
while(s_gets(number,LIM)&& number[] !='\0')
{
value =strtol(number,&end,);
printf("base 10 input,base 10 output:%ld,stopped at %s (%d)\n",value,end, *end);
value = strtol(number, &end, );
printf("base 16 input,base 10 output:%ld,stopped at %s (%d)\n",value,end, *end);
puts("Next number:");
}
puts("Bye!\n");
return ;
}
char * s_gets(char * st, int n)
{
char * ret_val;
int i=;
ret_val = fgets(st, n, stdin); //读取成功,返回一个指针,指向输入字符串的首字符;
if(ret_val)
{
while(st[i]!='\n' && st[i]!='\0')
i++;
if(st[i] =='\n') //fgets会把换行符也吃进来了,fgets会在末尾自动加上\0;
st[i]='\0';
else //其实是'\0'
while(getchar() != '\n') //会把缓冲区后续的字符都清空
continue;
}
return ret_val;
}
程序运行:
Enter a number (empty line to quit);
10
base 10 input,base 10 output:10,stopped at (0)
base 16 input,base 10 output:16,stopped at (0)
Next number:
10atom
base 10 input,base 10 output:10,stopped at atom (97)
base 16 input,base 10 output:266,stopped at tom (116)
Next number:
Swift3.0语言教程字符串转换为数字值
Swift3.0语言教程字符串转换为数字值 Swift3.0语言教程字符串转换为数字值,在NSString中,开发者可以将字符串转换为数字值,通过这些数字值可以实现一些功能,如加法运算.减法运算等.数 ...
C语言中将字符串转换为数字的方法
C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型.长整型.浮点型等)的数字.以下是用atoi()函数将字符串转换为整数的一个例子: # include # ...
剑指Offer面试题:35.将字符串转换为数字
一.题目:将字符串转换为数字 题目:写一个函数StrToInt,实现把字符串转换成整数这个功能.当然,不能使用atoi或者其他类似的库函数. 二.代码实现 (1)考虑输入的字符串是否是NULL.空字符 ...
SQL SERVER 将表中字符串转换为数字的函数 (详询请加qq:2085920154)
在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:1. convert(int,字段名) 例如:select convert(int,'3')2. cast(字段名 as i ...
js字符串转换为数字 总结
a. 将一个字符串转换为数字的一种缺少些技巧但是很清楚明白的方法就是:把Number()构造函数作为一个函数来调用: var number = Number(string_value); b. pa ...
JavaScript字符串转换为数字
今天在工作中碰到了一个问题,要将字符串转换为数字,否则函数不能正常工作, 特地研究了下,写了2个函数,供大家参考,代码如下: /** * 将字符串转换为数字 * @param {Object} str ...
Python不使用int()函数把字符串转换为数字
Python不使用int()函数把字符串转换为数字 2018年05月21日 14:18:45 边缘ob边缘ob 阅读数:1035 /qq_33192555/a ...
python:如何判断字符串中的内容是否都为数字并且把字符串转换为数字
使用();有两种使用方法 ('12345') =====>True ('aaaaa')======>False 或者 '1 ...
js字符串转换为数字的三种方法。(转换函数)(强制类型转换)(利用js变量弱类型转换)
js字符串转换为数字的三种方法.(转换函数)(强制类型转换)(利用js变量弱类型转换) 一.总结 js字符串转换为数字的三种方法(parseInt("1234blue"))(Num ...
随机推荐
div 一段时间后自动隐藏
一.div弹出后自动消失 这里并没有删除 setTimeout(function(){$(".alert").hide();},2000); 直接在js文件中需要的地方添加执行这段 ...
通过改变计算机策略来解决“只能通过Chrome网上应用商店安装该程序”的方法及模版文件下载
通过改变计算机策略来解决“只能通过Chrome网上应用商店安装该程序”的方法及模版文件下载 操作步骤 1.开始 -> 运行 -> 输入 -> 回车确定打开计算机本 ...
LabelMe图像数据集下载
Download MATLAB Toolbox for the LabelMe Image Database 利用Matlab Toolbox工具箱下载图像库 一.下载Matlab Toolbox工具 ...
air 移动开发配置文件详解
转自//2012/09/12/208/ 目录 所需的 AIR 运行时版本 应用程序标识 应用程序版本 主应用程序 SWF ...
ACM——A + B Problem (4)
A + B Problem (4) 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:2496 测试通过:124 ...
Android - Error parsing XML: unbound prefix
概述 这个问题,虽然看起来不是问题,但是如果不知道的人,还会花点时间,有的人甚至重新安装ADT. 我一开始还以为是排版的问题(Layout),因为初学,弄来弄去,最好还是到网上搜. 其实就不是什么问题 ...
谈谈JAVA中的安全发布
谈谈JAVA中的安全发布 昨天看到一篇文章阐述技术类资料的"等级",看完之后很有共鸣.再加上最近在工作中越发觉得线程安全性的重要性和难以捉摸,又掏出了
linux不能上网问题
第一种方法: 当linux不能上网,将网络配置成dhcp(注意:这里只能小写) onboot设置能yes 第二种方法: 第三种 window+r 快捷键 HKEY_LOCAL_MACHINE--> ...
python---tornado框架模板引擎本质compile和exec(eval)
namespace = {'name':'sda','age':[12,46,24],} code = """def say(): return 'name %s, ag ...