1.将字符串转换成浮点型数
表头文件#include <stdlib.h>
定义函数
double atof(const char *nptr);
函数说明
atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。
返回值
返回转换后的浮点型数。
2.将字符串转换成整型数
表头文件
#include<stdlib.h>
定义函数
int atoi(const char *nptr);
函数说明
atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的整型数。
3.字符串转换成长整型数
表头文件
#include<stdlib.h>
定义函数
long atol(const char *nptr);
函数说明
atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。
返回值
返回转换后的长整型数。
4.浮点型数转换为字符串,取四舍五入
表头文件
#include<stdlib.h>
定义函数
char *gcvt(double number,size_t ndigits,char *buf);
函数说明
gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数,在ndigits处取四舍五入。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。
返回值
返回一字符串指针,此地址即为buf指针。
举例:
#include <iostream>
#include <stdlib.h>
using namespace std;
double str_to_double(char *str)
{
return atof(str);
}
int str_to_int(char *str)
{
return atoi(str);
}
int str_to_long(char *str)
{
return atol(str);
}
void double_to_str(double input, unsigned int n)
{
char str[128] = {'\0'};
gcvt(input, n, str);
cout<<str<<endl;
}
int main(void)
{
double temp=3.1415926;
cout<<str_to_double("-123.124")<<endl;
cout<<str_to_int("-123.124")<<endl;
cout<<str_to_long("1000000000")<<endl;
double_to_str(temp, 5);
return 0;
}
本文介绍了如何在编程中进行浮点数与字符串之间的转换。包括使用`atoi()`将字符串转换为整型数,`atol()`转换为长整型数,以及`gcvt()`函数将浮点数转换为字符串并进行四舍五入处理。这些函数在处理数字字符串时非常实用。
9208

被折叠的 条评论
为什么被折叠?



