关于浮点数和整数的转换

浮点数转化成整数,就有以下四种情况。
1.直接转化
#include<stdio.h>

int main()
{
float f = 1.5;
int a;
a=(int)f;
printf(“a=%d”,a);
return 0;
}
输出结果是1。(int)是强制类型转化,丢弃浮点数的小数部分。

2.高斯函数,向下取整
#include<stdio.h>

int main()
{
double f = 1.5;
int a;
a=floor(f);
printf(“a=%d”,a);
return 0;
}

输出结果是1。floor()方法是向下取整,类似于数学中的高斯函数 [].取得不大于浮点数的最大整数,对于正数来说是舍弃浮点数部分,对于复数来说,舍弃浮点数部分后再减1。

3.ceil函数,向上取整
#include<stdio.h>

int main()
{
double f = 1.5;
int a;
a=ceil(f);
printf(“a=%d”,a);
return 0;
}
输出结果是2。ceil()方法是向上取整,取得不小于浮点数的最小整数,对于正数来说是舍弃浮点数部分并加1,对于复数来说就是舍弃浮点数部分。

4.通过强制类型转换四舍五入
#include<stdio.h>

int main()
{
double f = 1.5;
int a;
a=(int)(f+0.5);
printf(“a=%d”,a);
return 0;
}

这三个方法容易混淆:

Math.round:如果参数是小数,则求本身的四舍五入。

Math.ceil:如果参数是小数,则求最小的整数但不小于本身。

Math.floor:如果参数是小数,则求最大的整数但不大于本身。

同时注意他们的返回类型:

long round(double a)

int round(float a)

double ceil(double a)

double floor(double a)

求绝对值函数
浮点型

头文件:#include <math.h>

fabs() 函数用来求浮点数的绝对值。在TC中原型为:
float fabs(float x);
在VC6.0中原型为:
double fabs( double x ); 求绝对值函数

整型

头文件:#include <stdlib.h>

定义函数:int abs (int j);


作者: 孤鹰
来源:CSDN
原文:https://blog.csdn.net/zxdspaopao/article/details/84573399

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值