作业帮 > 综合 > 作业

C++ 中的数据怎样以浮点小数(而不是定点小数)输出,而不用科学计数法?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 20:07:05
C++ 中的数据怎样以浮点小数(而不是定点小数)输出,而不用科学计数法?
如题,C++ 中的数据怎样以浮点小数输出,而不用科学计数法,也不是用定点小数.
比如:
double dNum1=0.00003,dNum2=0.0006
cout
//你的要求很特别,不管怎么说,这个基本达到你的要求了
#include
#include
#include
#include
using namespace std;
void myPrint(double d){
\x05std::stringstream ss1,ss2;
\x05std::string text = "";
\x05ss1> text;
\x05if(text.find('e')!=string::npos){
\x05\x05string s1=text.substr(0,text.find('e'));
\x05\x05string s2=text.substr(text.find('e')+1);
\x05\x05ss2bit;
\x05\x05cout
再问: 呵呵,因为用途不一样。我在做数据接口,要将double数据转成字符串型式存储而非输出,而转存的字符串长度是有限制的,所以我希望不必要的字符越少越好。 具体说来,我有一堆double数据(无法预知数值范围),需要分别将其转换为几组不同长度(已知)的字符串,将来其他程序要从这些字符串读出原有的double型数据以便进行计算,所以在第一步double到string时,精度损失越小越好。 请问你有什么比较好的思路吗?
再答: 1、我明白了你目的,必须要做的是从double到string的转换,看来这是绕不过去了,所以我认为那个多余的0是不可避免的,setprecision这个函数是需要的,还得回到字符串删除0的问题上。我想这是最快的办法了。 2、“几组不同长度(已知)的字符串”是什么意思?
再问: “几组不同长度(已知)的字符串”意思就是对于同一个double数,如0.00003,有时需要转为“0.0000”(6位,算小数点,下同),有时转为“0.00003”(7位),有时是“0.000030(8位),视要求而定。