浮点数转换成字符串的实现-C++实现

浮点数分成整数和小数两个部分,分别进行单独处理,最后和小数点符号合成一个字符串。

废话不多说,直接上代码:


#include <iostream>
#include <string>

using namespace std;

string GetFront(int Front)
{
	string strFront;
	strFront.clear();
	int shang, yu;	
	char c = '0';
	while(Front/10>= 1)
	{		
		shang = Front/10;
		yu = Front%10;
		c += yu;	
		strFront.push_back(c);
		Front = shang;
		c = '0';
	}
	c = '0';
	c += shang;
	
	strFront.push_back(c);
	
	string a;
	
	while(!strFront.empty())
	{
		char tmp = strFront.back();
		strFront.pop_back();
		a.push_back(tmp);
	}

	return a;
}

string GetBehind(float Behind)
{
	string strBehind;
	float xs, xs10;
	int   zs;
	xs = Behind;
	char c = '0';
	while(xs> 0.000001)
	{
		xs10 = xs*10;
		zs = xs10;
		xs = xs10 - zs;
		c += zs;
		strBehind.push_back(c);
		c = '0';		
	}
	return strBehind;
}

void main()
{	
	float t = 123.45601;
	int zs = t;
	float xs = t - zs;
	string a = GetFront(zs);
	string b = GetBehind(xs);
	char c = '.';
	string result = a + c + b;
	cout<<result.c_str()<<endl;
	system("pause");
}


结果如下:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值