C++中double型数据怎么取整数部分,就是小数后面全变成0。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中double型数据怎么取整数部分,就是小数后面全变成0。相关的知识,希望对你有一定的参考价值。
需要注意的是double的整数部分超出了int的表示范围。
不要回答double a ; a=(int)a; 的答案,我试过不行的。
1、首先,定义一个double型变量n,保存取整的数值。
2、用ceil函数对实数5.78取整,取整后的数值保存在变量n中。
3、输出取整后的数值n。
4、运行程序,输出的值为6,这是因为ceil是对实数向上取整。
5、接着,将ceil内的数更改为5.18。
6、运行程序,看到的结果还是6,说明ceil是向上取整。
参考技术A方法一:使用强制类型转换,强制舍去小数部分。
例如 double a=3.14; int b= (int)a;
方法二:使用math.h的标准函数。
double floor(double x);
double ceil(double x);
使用floor函数。floor(x)返回的是小于或等于x的最大整数。
如: floor(10.5) == 10 floor(-10.5) == -11
使用ceil函数。ceil(x)返回的是大于x的最小整数。
如: ceil(10.5) == 11 ceil(-10.5) ==-10
double ceil( double x ); 向0取整,应该用这个
头文件#include <math.h>本回答被提问者采纳 参考技术C void main()
double a = 345.3853;
double b = 0;
b = (double)(int)a;
printf("\n%lf",b);
追问
叫你别答这个了,真心没用。超出了int表示的范围是不行的。不要很大就32768就不行。
追答b=(double)(long int)a;
参考技术D long long,不然string精度浮点型数据精确到了几位小数呢?
参考技术Afloat精确到七位小数。
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,因为它是不变的,故不能对精度造成影响。
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字。
简介:
浮点型数据类型,FLOAT 数据类型用于存储单精度浮点数或双精度浮点数。浮点数使用 IEEE(电气和电子工程师协会)格式。
浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。
以上是关于C++中double型数据怎么取整数部分,就是小数后面全变成0。的主要内容,如果未能解决你的问题,请参考以下文章