C++四舍五入问题
来源:互联网 发布:编程模块都有哪些 编辑:程序博客网 时间:2024/05/22 13:40
floor
函数定义与语法
函数名: floor
功 能: 返回小于或者等于指定表达式的最大整数
用 法: double floor(double x);
头文件:math.h
#include <stdio.h>
#include <math.h>
int main(void)
{
double number = 123.54;
double down, up;
down = floor(number);
up = ceil(number);
printf("original number %10.2lf\n",number);
printf("number rounded down %10.2lf\n",down);
printf("number rounded up %10.2lf\n",up);
return 0;
}
运行结果:
original number 123.54
number rounded down 123.00
number rounded up 124.00
程序例2:
void main()
{
int i = 5;
int s = i + 0.8 ;
cout<<s<<endl;
}
输出结果为 s = 5 ;
即:高精度像低精度转换,小树部分会被截去。。整数只要加上小数,,小数无论是多大,,都会被舍去,,即使是0.9
/*编写一个函数double myround(double x),输入一个小数,将它四舍五入。
02
*例如:myround(-3.51)的值是-4.0,myround(4.49)的值是4.0。可以调用math.h中的
03
*库函数ceil和floor实现这个函数。*/
04
#include <stdio.h>
05
#include <math.h>
06
double
myround(
double
x);
07
int
main()
08
{
09
double
num=1.00;
10
printf
(
"please enter the value of num(double):"
);
11
scanf
(
"%lf"
,&num);
12
//printf("%lf\n",num);
13
//printf("%lf\n",floor(num));
14
printf
(
"你输入的值进行四舍五入后的结果为:%lf\n"
,myround(num));
15
return
0;
16
}
17
double
myround(
double
x)
18
{
19
//double add=0.5;
20
//int min,max;
21
int
sa,si;
//sa用于保存x的整数部分,si用于保存加0.5后的临时值。整数部分的四舍五入
22
if
(x==0.0)
23
return
0.0;
24
else
25
if
(x>0.0)
26
{sa=(
int
)x;
27
si=x+0.5;
28
if
(sa==
floor
(si))
//如果if语句成立说明x的小数比0.5小,应当舍去
29
return
sa;
30
else
31
return
sa+1;
32
}
33
else //负数部分的四舍五入
34
{sa=(
int
)x;
35
si=x-0.5;
36
if
(sa==
ceil
(si))
37
return
sa;
38
else
39
return
sa-1;
40
}
41
}
double i = 5.6;
int k =(int)i;
cout<<i<<endl;
结果:i = 5.6
即:(int)i----i的值不会变!!static_cast<int>(i);中,i的值也不会变!!!
double i = 5.6;
int k =static_cast<int>(i);
cout<<i<<endl;
- C语言纠结的四舍五入问题
- C:四舍五入
- 关于c#double型数据四舍五入的问题
- 关于c#double型数据四舍五入的问题
- C语言四舍五入函数
- C语言四舍五入函数
- C语言四舍五入
- C语言实现四舍五入
- c语言:四舍五入
- +-小数四舍五入c代码---
- C、C++四舍五入
- C#四舍五入问题
- C#四舍五入问题
- javascript四舍五入的问题
- C++四舍五入问题
- Java、JSTL----四舍五入问题
- iOS 四舍五入问题
- Java 四舍五入计算问题
- 设计模式与实例代码:Bridge模式
- Spring提供的JUnit框架扩展
- Spring提供的JUnit框架扩展
- python中eval, exec, execfile,和compile
- Spring事务配置的五种方式
- C++四舍五入问题
- 第八周实验报告 任务四(改)
- 让英语水平暴涨的超棒方法
- FRASM push的使用
- VC++调试入门
- yii中使用ueditor
- C++学习笔记
- 关于ssh环境搭建的感悟
- QT编写Windows开机启动程序