javaC语言浮点数

不要使用浮点数进行比较!
float类型又被称作单精度类型
double被称作双精度类型
默认是double类型
java.math包下面的两个有用的类:BigInteger和BigDecimal,BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点运算。
C语言
对比c语言 double获得用户输入用scanf(“%lf”,&a);
浮点数比较大小,由于精度问题,所以直接比较有时可能会出错。
比较的时候需要用一个很小的数值来进行比较。当二者差小于这个很小的数时,就认为二者是相等的了。这个很小的数,称为精度。
精度由计算过程中需求而定。比如一个常用的精度为1E-6.也就是0.000001.
所以对于两个浮点数a,b
如果fabs(a-b)<=1E-6,那么就是相等了。 fabs是求浮点数绝对值的函数。

类似的 判断大于的时候,就是if(a>b && fabs(a-b)>1E-6)。
判断小于的时候,就是if(a<b&&fabs(a-b)>1E-6)。

发布了8 篇原创文章 · 获赞 0 · 访问量 65

猜你喜欢

转载自blog.csdn.net/qq_45829204/article/details/104906409