c++中如何不让他四舍五入?

ymlianming 2003-02-18 11:58:32
1、求682492983弧度的余弦函数COS值=0.6844687377965869056

2、0.6844687377965869056 * 1000000000.000000=684468737.79658690560

3、取整684468737+25+25*2+25*3+25*4……25*63=684468737+50400=684519137
4, 684519137 + 1010=684520147
#include<iostream.h>
#include<math.h>
#include<iomanip.h>
void main()
{
long double code,a,b,d,e,result;

int i;
cout <<"please input your code:"<<endl;
cin >>code;
a=cos(code);

cout <<setprecision(9)<<a<<endl;

b=a*1000000000;
cout <<b <<endl;
d=0;
for (i=1;i<64;i++)
d=d+25*i;
e=b+d;
result=e+1010;
cout <<setprecision(9)<<result<<endl;
}
...全文
1483 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
neptunez 2003-02-20
  • 打赏
  • 举报
回复
long double应该可以
prf8 2003-02-20
  • 打赏
  • 举报
回复
如果用内置类型的话,float最多有7位有效数字,而double 最多为14位。
cutestar 2003-02-20
  • 打赏
  • 举报
回复
#include <iostream.h>
#include <conio.h>
#include <math.h>

void ShowNumber(const long double dvalue,int nlen);

void main(void)
{
long double dcode;
cout<<"Please Input Your Code:";
cin>>dcode;
ShowNumber(cos(dcode),13);
cout<<endl;
return;
}

void ShowNumber(const long double dvalue,int nlen)
{
char temp[30];
long double tempa,tempb;
int tp;
tempa=fabs(dvalue);
for(int i=0;i<nlen;i++)
{
tempb=10*tempa;
tp=(int)tempb;
tempa=tempb-tp;
temp[i]='0'+tp;
temp[i+1]='\0';
}
cout<<temp<<endl;
return;
}
将该字符串转换成数字原理类似。如果有整数部分,如33.33,先取整,
A=(int)33.33;再取小数部分,B=33.33-A;再进行相关的转换。注意字符串
长度大小!
ymlianming 2003-02-18
  • 打赏
  • 举报
回复
up
ymlianming 2003-02-18
  • 打赏
  • 举报
回复
那要是小于0.5呢?
loveghb 2003-02-18
  • 打赏
  • 举报
回复
c++会自动四舍五入啊?
你把结果减去0.5不就行了?
qfknet 2003-02-18
  • 打赏
  • 举报
回复
我也以为是要让他四舍五入呢~!
原来是步入呀~!
那就用实型取值吧~!
好像行~!
没试过~!
njSeeWhy 2003-02-18
  • 打赏
  • 举报
回复
这个程序是什么意思?
特别是你前面那个1,2,3,4是想说明什么?
ymlianming 2003-02-18
  • 打赏
  • 举报
回复
up
ymlianming 2003-02-18
  • 打赏
  • 举报
回复
hehe~~~你别开玩笑拉
我是新手~~~
jonepp 2003-02-18
  • 打赏
  • 举报
回复
自己做一个setprecision出来。
ymlianming 2003-02-18
  • 打赏
  • 举报
回复
哥哥们
麻烦你们把问题看完!!!再回答好不好!!!!!!
jjin 2003-02-18
  • 打赏
  • 举报
回复
这样做: float f;
int i;
i = f + 0.50;
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质?你是否想成为一名资深开发人员,想开发别人做不了的高性能程序?你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹? 那么C++就是你个人能力提升,职业之路进阶的不二之选。【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署;2.吊打一切关于C++的笔试面试题;3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块基础篇本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。进阶篇本篇主要讲解编程常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。提升篇:本篇可以帮助学员更加高效的进行c++开发,其包含类型转换、文件操作、异常处理、代码重用等内容。

69,377

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧