讨论这个问题之前,我们先来看一下如何实现数字与字符串的双向转化 (虽然网上已经有了很多这种文章,但我还是想简单写一下)
- sprintf
字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。
百度百科
这个函数可以实现将数字转化为字符串,但最好指明精度
比如以下代码:
#include <iostream>
#include <cstdio>
// using namespace std;
int main()
{
double d;
std::cin >> d;
char buffer1[100] ,buffer2[100];
sprintf(buffer1, "%f", d);
sprintf(buffer2, "%.2f", d);
std::cout << buffer1 << std::endl << buffer2 << "\n";
return 0;
}