黑马程序员技术交流社区

标题: 怎样将浮点数(float)相加 ? Float 好像没有办法? [打印本页]

作者: 曾欢欢    时间: 2014-5-5 17:28
标题: 怎样将浮点数(float)相加 ? Float 好像没有办法?
本帖最后由 曾欢欢 于 2014-5-7 09:07 编辑

遇到困难了,求助大神
作者: 神马    时间: 2014-5-5 17:29
问题是什么意思?说详细一点。
作者: 张然龙    时间: 2014-5-5 18:39
float这个浮点数运算时候总是有点偏差 这也是我想知道的!!
作者: GGdog    时间: 2014-5-5 19:44
俺新手,这个问题也比较纠结,于是在网上找了一份资料,看看能不能帮到你

解决方案1:
因为计算机本身是二进制的,你使用float和double这些节约了内存,对精度就没那么多要求了,要是你对精度有要求,java有java.math.BigDecimal浮点和java.math.BigInteger 整型两个类给你使用
解决方案2:
这是典型的精度丢失,当低级类型对高级类型运算的时候回产生精度丢失。
基本类型加宽转换的19种情况
byte → short, int, long, float, or double
short → int, long, float, or double
char → int, long, float, or double
int → long, float, or double
long → float or double
float → double
double X
这里,从byte、short/char、int、long、float、double排列,向后基本上就是加宽转换。排除:byte→char 、short→char、char→short。加宽转换不会损失原数据的总体信息[有时精度会损失,
如int/long→float、long→double时],不产生任何run-time异常。
解决方案3:
应为计算机存储小数以x/y的分数形式记录的,比如说5/6.你想想10进制的时候1/3是不是一个无线循环小数呢?同理,在二进制环境下,也会出现无限循环。所以说,这个数值是不精确的
解决方案4:
double的长度是很长,但是他的大小还是有限制的,不能超过20位吧!大数建议用BigDecimal
通过对数据库的索引,我们还为您准备了:
为什么Java中的简单浮点数类型float和double不能够...
问:为什么啊,double类型的长度不是很高吗?
答:因为计算机本身是二进制的,你使用float和double这些节约了内存,对精度就没那么多要求了,要是你对精度有要求,java有java.math.BigDecimal浮点和java.math.BigInteger 整型两个类给你使用
===========================================
java中如何判断一个浮点数是float型的还是double的?
问:比如1.2为什么是double型的而不是float型的?1.2 也没有超出float所表示...
答:这是系统默认的 就像张三为什么叫张三一样 是他父母气的名字 javaJDK中定义了如果你不强制定义float类型 它会自动认为你定义了double类型
===========================================
Java中怎样将浮点数(float)相加 ? Float 好像没有...
问:比如1.2为什么是double型的而不是float型的?1.2 也没有超出float所表示...
答:如果是float类型的话直接相加就行了。如果是Float(float的包装类)就需要调 Float.floatValue()会返回一个float值,然后再相关就是。
===========================================
JAVA浮点数类型的定义问题
问:A. Float foo = -1; B. Float foo = 1.0; C. Float foo = 42e1; D. Floa...
答:你好,仍然是单选题,我都测试过了,只有D是正确的。
===========================================
java简单但是很奇怪问题
问:class Test { public static void main(String[] args) { double [] a =...
答:计算机存储小数和整数用的方法不一样。计算机表示数字和数学里也不一样。 数学里数据的大小是无限制的,数据的精度也是无限制的(如无理数)。 计算机使用固定大小的存储空间存储数据,那么数据的大小和精度都受到限制。 在整数上,是能够精确表...
===========================================
java 的浮点数&整数
问:求解释 为什么比较浮点数会比 比较整数要难? 还有 如果 需要一个写个代...
答:浮点数多数不能精确表示。 近似相等可以用两数差的绝对值小于某个足够小的数来判定。
===========================================
如何在java中接受用户输入的浮点数啊
问:是java Application ,不是java Applet
答:接收用户输入的东西都是字符类型的,需要把字符型转换成float,如果字符已经接收到如下: String str="";//这个是接收到用户输入的 float f = Float.parseFloat(str);//类型转换
===========================================
...属于简单数据类型的是:A整数类型;B类;C浮点数类...
问:为什么?
答:选B,类是引用数据,数组,类,接口都是引用类型的。
===========================================
java中整型数和浮点数怎么用判断
问:比如,输入37.5让程序判断这是浮点数还是整型数?具体过程,谢谢!
答:public class Test{ public static void main(String []args){ java.util.Scanner sca = new java.util.Scanner(System.in); System.out.println("输入一个数字"); double a = sca.nextDouble(); int b = (int)a; int c = b; if (c!=a){ System....
===========================================
作者: 136616244    时间: 2014-5-5 22:59
浮点数,我前天在图书馆看到一本介绍Java浮点数的介绍了10张纸,看了半天没看懂,主要是介绍浮点数是如何在内存中表示的,有的数可以精确表示,有的不可以精确表示
作者: 曾欢欢    时间: 2014-5-6 11:08
GGdog 发表于 2014-5-5 19:44
俺新手,这个问题也比较纠结,于是在网上找了一份资料,看看能不能帮到你

解决方案1:

很好,学习中




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2