C++ 字符串转化成浮点型
2013-12-17 20:40
197 查看
第一种:
[cpp]
view plaincopy
char szString[] = "3.1415926535898";
double db1;
db1 = atof(szString);
printf("atof result:\n");
printf("%f %.12f %.2f %e %E\n", db1, db1, db1, db1, db1);
printf("%.1e %.1E %.18e %.18E\n", db1, db1, db1, db1);
第二种:
[cpp]
view plaincopy
char szString2[] = "3.1415926535898";
double db2;
sscanf(szString2, "%lf", &db2);
printf("\nsscanf result:\n");
printf("%f %.12f %.2f %e %E\n", db2, db2, db2, db2, db2);
printf("%.1e %.1E %.18e %.18E\n", db2, db2, db2, db2);
对于sscanf函数还有很多的妙用。给大家看看百科上的使用:
1. 常见用法。
char buf[512] ;
sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
printf("%s\n", buf);
结果为:123456
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
sscanf("123456 ", "%4s", buf);
printf("%s\n", buf);
结果为:1234
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
sscanf("123456 abcdedf", "%[^ ]", buf);
printf("%s\n", buf);
结果为:123456
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
当输入:
sscanf("123456abcdedfBCDEF","%[1-9A-Z]",buf);
printf("%s\n",buf);
结果为:123456
5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
printf("%s\n", buf);
结果为:12DDWDFF
[cpp]
view plaincopy
char szString[] = "3.1415926535898";
double db1;
db1 = atof(szString);
printf("atof result:\n");
printf("%f %.12f %.2f %e %E\n", db1, db1, db1, db1, db1);
printf("%.1e %.1E %.18e %.18E\n", db1, db1, db1, db1);
第二种:
[cpp]
view plaincopy
char szString2[] = "3.1415926535898";
double db2;
sscanf(szString2, "%lf", &db2);
printf("\nsscanf result:\n");
printf("%f %.12f %.2f %e %E\n", db2, db2, db2, db2, db2);
printf("%.1e %.1E %.18e %.18E\n", db2, db2, db2, db2);
对于sscanf函数还有很多的妙用。给大家看看百科上的使用:
1. 常见用法。
char buf[512] ;
sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!
printf("%s\n", buf);
结果为:123456
2. 取指定长度的字符串。如在下例中,取最大长度为4字节的字符串。
sscanf("123456 ", "%4s", buf);
printf("%s\n", buf);
结果为:1234
3. 取到指定字符为止的字符串。如在下例中,取遇到空格为止字符串。
sscanf("123456 abcdedf", "%[^ ]", buf);
printf("%s\n", buf);
结果为:123456
4. 取仅包含指定字符集的字符串。如在下例中,取仅包含1到9和小写字母的字符串。
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
当输入:
sscanf("123456abcdedfBCDEF","%[1-9A-Z]",buf);
printf("%s\n",buf);
结果为:123456
5. 取到指定字符集为止的字符串。如在下例中,取遇到大写字母为止的字符串。
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
6、给定一个字符串iios/12DDWDFF@122,获取 / 和 @ 之间的字符串,先将 "iios/"过滤掉,再将非'@'的一串内容送到buf中
sscanf("iios/12DDWDFF@122", "%*[^/]/%[^@]", buf);
printf("%s\n", buf);
结果为:12DDWDFF
相关文章推荐
- C++ 字符串转化成浮点型
- C++ 字符串转化成浮点型
- C\C++字符串转化成整数
- C++任意类型转化成字符串
- C++字符串之间转化——多字节字符集
- c++实现atoi()和itoa()函数(字符串和整数转化)
- C++怎么把整型、浮点型、字符串格式化输出到一个字符串中
- 将字符串转化为整数问题(C++)
- C++ 字符串, 数字 相互转化
- 程序目的:实现c++整型和字符数组,字符串的相互转化
- C++字符串转化为数字的库函数
- 字符串数组与字符串的转化(C++与Java)
- C++实现将一个字符串转化为double类型
- C++字符串转化为数字的库函数
- C++字符串转化为数字的库函数
- C++字符串转化为数字的库函数
- c++中stringstream 类的用法及字符串与数字之间转化
- c++的字符串char与string相互转化,以及string的,切割,替换字符,字符串拼接方法(object向c++转型系列教程2)
- [C++]把字节序列转化为十六进制字符串
- C++中字符串与整型浮点型间的转换