当前位置: 首页 > 知识库问答 >
问题:

Java中的Float和double数据类型

越麒
2023-03-14

float数据类型是单精度32位IEEE 754浮点,而double数据类型是双精度64位IEEE 754浮点。

这是什么意思?什么时候应该使用float而不是double或者相反呢?

共有1个答案

许博易
2023-03-14

上面的维基百科页面是一个很好的开始。

总结一下:

>

  • float用32位表示,其中包括1位符号位、8位指数位和23位有效数(或科学符号数的后续值:2.33728*1012;33728是有效数)。

    默认情况下,Java使用double来表示它的浮点数(因此文字3.14被键入为double)。它也是一种数据类型,它将为您提供更大的数字范围,因此我强烈鼓励使用它,而不是float

    可能有某些库实际上强制您使用float,但一般而言--除非您能够保证您的结果足够小以适合float的规定范围,否则最好选择double

    如果您需要精确度--例如,您不能有一个不精确的十进制值(如1/10+2/10),或者您正在使用货币(例如,在系统中表示10.33美元),那么请使用BigDecimal,它可以支持任意数量的精确度并优雅地处理这样的情况。

  •  类似资料:
    • 问题内容: float数据类型是单精度32位IEEE 754浮点,double数据类型是双精度64位IEEE 754浮点。 这是什么意思?我什么时候应该使用float而不是double? 问题答案: 总结一下: float用32位表示,带有1个符号位,8位指数和23位有效数(或从科学记号中得出的结果:2.33728 * 10 12; 33728为有效数)。 double 用64位表示,带有1个符号

    • 问题内容: 我碰到了Java的一个奇怪角落(对我来说似乎很奇怪) o / p:是 o / p:错误 我观察到,如果我们将任意两个值(如我在示例中提到的float和double)与OR 进行比较,例如3.5、234.5、645.0,则输出为即两个值相等,否则输出为相等。 甚至我都试着做方法,但是没有运气。我错过了什么吗? 问题答案: 看一下每位计算机科学家应该了解的浮点数。 将无限多个实数压缩为有限

    • 问题内容: Java中float和double的范围包括什么? 为什么不建议在精度要求很高的地方使用float或double? 问题答案: Java的类的成员包含类型的Min和Max值。 检出的和静态最终成员。 (有些)人们会建议不要在精度和精度至关重要的事情上使用浮点类型,因为舍入误差可能会使可测量(少量)的量不起作用。

    • 问题内容: 我面临与转换为相关的问题。实际上,我将浮点类型存储在数据库中,但是当我们通过下面的代码从数据库中获取数据时,它是类型。我们获得的价值以表格的形式出现。 那么我们如何获得像这样的格式数据呢? 问题答案: 只需将您的双曲投向花车即可。 还要注意,基本类型不能存储无限的数字集:

    • 本文向大家介绍C / C ++中float和double的区别,包括了C / C ++中float和double的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,在C / C ++中,我们需要float和double数据类型来表示浮点数,即带有小数部分的数字。现在,根据这两种数据类型提供的精度,我们可以区分两者 其中。 简而言之,可以说double的精度是float的2倍,这意味着doub

    • 结果: 为什么piF和piD不相等呢?实际上是什么使两者相同?