编程基础-----数字与字符串相互转化

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指针。


5. int字符串

char *itoa( int value, char *string,int radix); 

原型说明: value:欲转换的数据。 string:目标字符串的地址。 radix:转换后的进制数,可以是10进制、16进制等。

程序例: 

#include <stdlib.h> 
#include <stdio.h> 
int main(void) 
{ 
	int number = 12345; 
	char string[25]; 
	itoa(number, string, 10); 
	printf("integer = %d string = %s\n", number, string); 
	return 0; 
} 



举例:

#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;
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值