Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中识别数字是浮点型还是双精度型_Java - Fatal编程技术网

如何在java中识别数字是浮点型还是双精度型

如何在java中识别数字是浮点型还是双精度型,java,Java,19.5是一个怎样的双倍值。为什么我们需要在它后面附加F,使它成为浮动的?只是想知道我们如何识别一个数字,它是float还是double来处理下行或缩小转换。无论何时将long向下转换为int,或将double向下转换为float,都存在数据丢失的可能性。因此,编译器将通过以下方式发出编译错误信号,强制您指示您确实想要执行缩小转换: float f=19.5 因为19.5代表一个double,所以必须显式地将其转换为float(基本上是在缩小转换上签字)。否则,您可以通过使用正确的后缀指示数字实

19.5是一个怎样的双倍值。为什么我们需要在它后面附加
F
,使它成为
浮动的
?只是想知道我们如何识别一个数字,它是
float
还是
double

来处理下行或缩小转换。无论何时将long向下转换为int,或将double向下转换为float,都存在数据丢失的可能性。因此,编译器将通过以下方式发出编译错误信号,强制您指示您确实想要执行缩小转换:

float f=19.5

因为19.5代表一个double,所以必须显式地将其转换为float(基本上是在缩小转换上签字)。否则,您可以通过使用正确的后缀指示数字实际上是一个浮点

float f=19.5f


默认情况下,19.5是双文本的,所以要告诉编译器显式地将其视为浮点->它使用f或f来处理向下转换或缩小转换。无论何时将long向下转换为int,或将double向下转换为float,都存在数据丢失的可能性。因此,编译器将通过以下方式发出编译错误信号,强制您指示您确实想要执行缩小转换:

float f=19.5

因为19.5代表一个double,所以必须显式地将其转换为float(基本上是在缩小转换上签字)。否则,您可以通过使用正确的后缀指示数字实际上是一个浮点

float f=19.5f


默认情况下,19.5是双文本,所以要告诉编译器显式地将其视为浮点->它使用f或f

19.5
在java中是浮点文本。引自:

如果浮点文字的后缀为ASCII字母F或F,则它的类型为float;否则,它的类型是double,并且可以选择使用ASCII字母D或D作为后缀


现在,当我们知道
19.5
是double类型时,让我们看看注释中的示例:

float value = 19.5;
在java中,从
double
float
的转换是一个简单的过程。这种类型的转换应该是显式的。这就是为什么需要使用类型为
float
的浮点文本来摆脱转换

float value = 19.5f;
或使此转换显式化

float value = (float) 19.5;

19.5
是java中的浮点文本。引自:

如果浮点文字的后缀为ASCII字母F或F,则它的类型为float;否则,它的类型是double,并且可以选择使用ASCII字母D或D作为后缀


现在,当我们知道
19.5
是double类型时,让我们看看注释中的示例:

float value = 19.5;
在java中,从
double
float
的转换是一个简单的过程。这种类型的转换应该是显式的。这就是为什么需要使用类型为
float
的浮点文本来摆脱转换

float value = 19.5f;
或使此转换显式化

float value = (float) 19.5;

答案在问题中。如果一个浮点数字面值以F的F结尾,它就是一个浮点。否则,这是双重的。您还想知道什么?语法是双精度的
[0-9]*\.[0-9]+
[0-9]+\.[0-9]*
,并为浮点数附加一个
f
。e、 g.
123。123.123
或float
123.f、.123f、123.123f
float value=19.2
需要
f
,因为它被分配给
float
变量,我已经告诉过你了。float value=19.2;尝试将double(19.2)赋值给float(value)类型的变量。double不是float,因此编译器提示这是无效的。另一方面,将浮点值赋给float类型的变量是有效的。19.2F是一个浮动,因为它以F结尾。@akhilsk你的链接是完全不相关的。请不要增加混乱,答案就在问题中。如果一个浮点数字面值以F的F结尾,它就是一个浮点。否则,这是双重的。您还想知道什么?语法是双精度的
[0-9]*\.[0-9]+
[0-9]+\.[0-9]*
,并为浮点数附加一个
f
。e、 g.
123。123.123
或float
123.f、.123f、123.123f
float value=19.2
需要
f
,因为它被分配给
float
变量,我已经告诉过你了。float value=19.2;尝试将double(19.2)赋值给float(value)类型的变量。double不是float,因此编译器提示这是无效的。另一方面,将浮点值赋给float类型的变量是有效的。19.2F是一个浮动,因为它以F结尾。@akhilsk你的链接是完全不相关的。请不要增加混淆。我正在努力使我的答案更有用@EJPi将尝试@EJPno,我不这样认为,我已经再次编辑了我的答案@EJPi正在试图使我的答案更有用@EJPi将尝试@EJPno,我不这样认为,我已经再次编辑了我的答案@EJP