strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为

NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。

#include<stdlib.h>

#include<stdio.h>

void main()

{

    char *endptr;

    char a[] = "12345.6789";

    char b[] = "1234.567qwer";

    char c[] = "-232.23e4";

    printf( "a=%lf\n", strtod(a,NULL) );

    printf( "b=%lf\n", strtod(b,&endptr) );

    printf( "endptr=%s\n", endptr );

    printf( "c=%lf\n", strtod(c,NULL) );

}

执行:

a=12345.678900

b=1234.567000

endptr=qwer

c=-2322300.000000

strtol函数

 参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如’0x’前置字符则会使用16进制做转换、遇到’0’前置字符而不是’0x’的时候会使用8进制做转换。
一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('\0')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回;若参数endptr为NULL,则会不返回非法字符串。
#include<stdlib.h>

#include<stdio.h>

voidmain(void)

{

char*string,*stopstring;

doublex;

intbase;

longl;

unsignedlongul;

string="3.1415926Thisstoppedit";

x=strtod(string,&stopstring);

printf("string=%s\n",string);

printf("strtod=%f\n",x);

printf("Stoppedscanat:%s\n",stopstring);

string="-10110134932Thisstoppedit";

l=strtol(string,&stopstring,10);

printf("string=%s\n",string);

printf("strtol=%ld\n",l);

printf("Stoppedscanat:%s\n",stopstring);

string="10110134932";

printf("string=%s\n",string);

/*Convertstringusingbase2,4,and8:*/

for(base=2;base<=8;base*=2)

{

/*Convertthestring:*/

ul=strtoul(string,&stopstring,base);

printf("strtol=%ld(base%d)\n",ul,base);

printf("Stoppedscanat:%s\n",stopstring);

}

}
string=3.1415926Thisstoppedit

strtod=3.141593

Stoppedscanat:Thisstoppedit

string=-10110134932Thisstoppedit

strtol=-2147483648

Stoppedscanat:Thisstoppedit

string=10110134932

strtol=45(base2)

Stoppedscanat:34932

strtol=4423(base4)

Stoppedscanat:4932

strtol=2134108(base8)

Stoppedscanat:932




strtod-strtod, 字符串 转 数字 函数的更多相关文章

  1. 2-2 Sass的函数功能-字符串与数字函数

    Sass的函数简介 在 Sass 中除了可以定义变量,具有 @extend.%placeholder 和 mixins 等特性之外,还自备了一系列的函数功能.其主要包括: 字符串函数 数字函数 列表函 ...

  2. 高精度运算专题-输出函数与字符串转数字函数(Output function and the string to number function)

    输出函数:这个函数别看它小,但浓缩的都是精华啊 作用:对于高精度的数组进行倒序输出 思路:首先从被传入的数组第一位开始,一直往前扫输出就可以了(i--) 注释:因为每个数组的第一位是用来存储这个数组的 ...

  3. JS 字符串 时间 数字函数操作 事件

    字符串  操作 var s="abcdefg" s.tolowerCase()   转小写 s.toupperCase()   转大写 s.substring(2,5)   索引下 ...

  4. C语言--字符串和数字的相互转换

    1.数字转换为字符串 sprintf 跟printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出. sprintf 是个变参函数,定义如下: int sp ...

  5. c语言中字符串转数字的函数

    ANSI C 规范定义了 atof().atoi().atol().strtod().strtol().strtoul() 共6个可以将字符串转换为数字的函数,大家可以对比学习.另外在 C99 / C ...

  6. SQL SERVER 将表中字符串转换为数字的函数 (详询请加qq:2085920154)

    在SQL SERVER 2005中,将表中字符串转换为数字的函数共2个:1. convert(int,字段名)   例如:select convert(int,'3')2. cast(字段名 as i ...

  7. 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)

     1  多行函数(理解:有多个输入,但仅仅输出1个结果) SQL>select count(*) from emp; COUNT(*) ------------- 14 B 字符函数Lowe ...

  8. Python不使用int()函数把字符串转换为数字

    Python不使用int()函数把字符串转换为数字 2018年05月21日 14:18:45 边缘ob边缘ob 阅读数:1035 https://blog.csdn.net/qq_33192555/a ...

  9. js数组,数字函数,字符串函数,表单验证,hashMap,堆栈,日期函数,call函数

    1.javascript的数组API Js代码 收藏代码 //定义数组 var pageIds = new Array(); pageIds.push('A'); 数组长度 pageIds.lengt ...

随机推荐

  1. javamail - 协议SMTP\IMAP\POP3设置

    资料来自:https://www.tutorialspoint.com/javamail_api/index.htm [SMTP - Simple Mail Transfer Protocol] Na ...

  2. P3390矩阵快速幂

    题目背景 矩阵快速幂 题目描述 给定n*n的矩阵A,求A^k 输入输出格式 输入格式: 第一行,n,k 第2至n+1行,每行n个数,第i+1行第j个数表示矩阵第i行第j列的元素 输出格式: 输出A^k ...

  3. 实战篇之实现 OutLook 中以 EDM 形式发送通知邮件

    1.写 Html5 的 EDM 模板 EDM 源代码示例: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ...

  4. BZOJ 4304 tarjan+topsort+bitset

    我就是想骗一骗访问量 先Tarjan搞出来所有的强连通分量 正向连边 反向连边 topsort一发  搞出来每个点可以到哪些点 和哪些点可以到这个点 对于每条边 与一下  就是答案 //By Siri ...

  5. 【洛谷4933】大师(DP)

    题目: 洛谷4933 分析: (自己瞎yy的DP方程竟然1A了,写篇博客庆祝一下) (以及特斯拉电塔是向Red Alert致敬吗233) 这里只讨论公差不小于\(0\)的情况,小于\(0\)的情况进行 ...

  6. 大数据~说说Hadoop

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构. 用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.  Hadoop实现了一个分布式文件系 ...

  7. SAS学习笔记之《SAS编程与数据挖掘商业案例》(1)系统简介和编程基础

    SAS学习笔记之<SAS编程与数据挖掘商业案例>(1)系统简介和编程基础 1. SAS系统简介 1.1 SAS是先编译后执行的语言,data步标志着编译的开始. 数据指针:当前内存缓存区, ...

  8. checkbox与文字混排无法对齐到一行的解决办法

    直接上代码: <span><input style="vertical-align:middle" type="checkbox" name= ...

  9. sql server 数据分析优化实战(一)——SQL语句优化

    前言 在我们进行数据分析的时候,首要的目标是根据业务逻辑,通过编写SQL代码得到我们想要的结果,这是毋庸置疑的.一般情况下,由于我们分析的数据量比较少,体会不出SQL语句各种写法的性能优劣,对SQL代 ...

  10. CSS——img标签消除3px

    1.dispaly:block 2.float:left 这两种都可以消除3px