C++ 如何输出double与long double型,

JC34172425 2008-04-14 12:23:30
输出的精确度要尽量地高
...全文
3513 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
a3039168 2010-08-26
  • 打赏
  • 举报
回复
登陆了还看不到??
ZXW0521 2009-12-10
  • 打赏
  • 举报
回复
step 1 0.30102999566398119521373889472449 * 2.45 = 0.73752348937675393791835176671157
step 2 0.30102999166398119521373889472449 * 2.45 = 0.73752347957675401524113567575114
step 3 0.30102999566398119521303889472449 * 2.45 = 0.73752348937675393791835176671157

第一步那个32位的小数是原来的,
第二布改了小数点后第9位,
第三步改了小数点后21位,

证明,至少在21位后的精度丢掉了,可能还要比21位更少些
星羽 2008-04-14
  • 打赏
  • 举报
回复

#include "iostream"
#include "iomanip"
using namespace std;

int main()
{
double d = 1.2131232132;
long double ld = 1.123123123123123123L;

cout<<setprecision(10)<<d<<endl;
cout<<setprecision(20)<<ld<<endl;



return 0;
}

------------

1.213123213
1.1231231231231231

JC34172425 2008-04-14
  • 打赏
  • 举报
回复
#include <iostream>
#include <iomanip>
#include <stdio.h>

int main()
{
std::cout << std::setprecision(9) << 1.23 << std::endl;
printf("%.9f %.9f", 1.23, 1.233311223222);
}
HelloDan 2008-04-14
  • 打赏
  • 举报
回复
设置输出的位数行了。
相关推荐
发帖
C++ 语言

6.3w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2008-04-14 12:23
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下