设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
C\C++
›
怎么样提高C++浮点数的输出精度?
返回列表
查看:
1813
|
回复:
8
怎么样提高C++浮点数的输出精度?
[复制链接]
hoho_zhao
hoho_zhao
当前离线
积分
289
IP卡
狗仔卡
发表于 2006-12-4 15:20:47
|
显示全部楼层
|
阅读模式
float a;
cin>>a
键盘输入:188.888
cout<<a*a<<endl;
cout<<a*a*a<<endl;
控制台输出:
35678.7
用bc来算一下,结果为:35678.676
以前用C多(C里可以用(double)来提高精度),很少用C++,请教各位。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
zlbruce
zlbruce
当前离线
积分
1660
IP卡
狗仔卡
发表于 2006-12-4 17:15:23
|
显示全部楼层
cout<<setprecision(12)<<a*a<<endl;
当然要 #include <iomanip>
回复
支持
反对
使用道具
举报
显身卡
hoho_zhao
hoho_zhao
当前离线
积分
289
IP卡
狗仔卡
楼主
|
发表于 2006-12-4 17:26:06
|
显示全部楼层
这个我照书上试过了,不行,还是说setprecision()没有声明
circle_1.cpp:31: 错误:‘setprecision’ 在此作用域中尚未声明
需不需要用 using 。。。。什么什么的?
我在用 #include <iostream> 中用 using std::cout之类的语句
否则 cout 也会说没有声明
回复
支持
反对
使用道具
举报
显身卡
x11
x11
当前离线
积分
2823
IP卡
狗仔卡
发表于 2006-12-4 18:11:16
|
显示全部楼层
那就using namespace std 试试
回复
支持
反对
使用道具
举报
显身卡
hoho_zhao
hoho_zhao
当前离线
积分
289
IP卡
狗仔卡
楼主
|
发表于 2006-12-4 18:22:11
|
显示全部楼层
恩,谢谢,编译成功,用了 using namespace std 的话,
其它那三句using 就可不用了,不过 x11 可否解释一下,
用了 namesapce std 就不用include <iomanip>?它们有什么关系么?
回复
支持
反对
使用道具
举报
显身卡
iveney
iveney
当前离线
积分
566
IP卡
狗仔卡
发表于 2006-12-5 19:54:55
|
显示全部楼层
std是一个namespace,新的C++标准把库函数写在了标准命名空间里面以防重名.google/baidu有很多详细介绍
回复
支持
反对
使用道具
举报
显身卡
hoho_zhao
hoho_zhao
当前离线
积分
289
IP卡
狗仔卡
楼主
|
发表于 2006-12-6 08:15:42
|
显示全部楼层
谢谢,我有些问题不该问,但还是忍不住先在这里发问了,然后再去baidu google搜索。
呵呵,谢谢啦。
回复
支持
反对
使用道具
举报
显身卡
jecky.z
jecky.z
当前离线
积分
110
IP卡
狗仔卡
发表于 2006-12-10 02:00:55
|
显示全部楼层
> vi double.cpp
#include <iostream>
#include <iomanip>
int main(int argc, char** argv)
{
double d = 10.0;
std::cout << std::setprecision(12) << d / 3 << std::endl;
return 0;
}
> g++ -o double double.cpp
> ./double
3.33333333333
没问题呀
回复
支持
反对
使用道具
举报
显身卡
hoho_zhao
hoho_zhao
当前离线
积分
289
IP卡
狗仔卡
楼主
|
发表于 2006-12-10 11:59:45
|
显示全部楼层
用setprecision这种方法不能设置小数点后有多少位,只能设定有效数位个数
如setprecision(12),有效数位就为11个(个人认为,好像是最后一位是估计的,不是有效的)
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Mandriva Linux
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表