放置一个'是不错的做法。十进制数后的数字

时间:2018-01-22 18:35:13

标签: java

因此,在我用来学习java的视频中,他们放置了一个' f'在浮动之后(根据java规则),他告诉你放置一个' d'在十进制数字后面,我想知道它是否是一个很好的做法?

letters = [['a', 'b', 'c'], ['d', 'e', 'f']]

numbers = [[1, 2, 3], [4, 5, 6]]

letters = pd.DataFrame(letters)
    0  1  2
0   a  b  c
1   d  e  f


numbers = pd.DataFrame(numbers)
    0  1  2
0   1  2  3
1   4  5  6

3 个答案:

答案 0 :(得分:1)

dD不是“十进制”号码,而是double。这不是必需的,因为Java中的每个文字浮点数默认为双倍。

所以,这个:

double x = 5.0;

将执行与此相同的操作:

double x = 5d;
  

我想知道这样做是否是一个好习惯

这不是一个好的做法问题。我读过的大多数代码都会在最后省略d。如果您觉得使用d更适合您的文字值,那么它也可以。

答案 1 :(得分:1)

是的,如果您不打算包含小数部分。 5本身就是integer literal,然后会提升为double5ddouble literal。您也可以编写5.0,它不能是整数文字,因此是浮点文字。

从上面的第二个链接:

  

对于十进制*浮点文字,至少有一个数字(在整数或小数部分中)以及小数点,指数或浮点数**类型后缀是必需的。所有其他部分都是可选的。指数(如果存在)由ASCII字母e或E表示,后跟可选的有符号整数。

(我的重点)

之后

  

浮点文字的类型为float,如果后缀为ASCII字母Ff;否则其类型为double,并且可以选择以ASCII字母Dd(§4.2.3)为后缀。

*这里它们是指数字基数(基数为10),而不是小数类型

**这里他们的意思是浮点后缀,f F / floatd / D double < / p>

答案 2 :(得分:0)

我能想到的唯一可能用途是用What do F and D mean at the end of numeric literals?写的:

void foo(float x);
void foo(double x);

如果使用文字参数foo(5.0),您可能希望df指定您的意思(或使用5d备用字符)。这在我看到的大多数Java代码中很少见,所以我不确定是否真的有意义。具体地

double x = 5d;

似乎多余。它已经说它在开始时是双倍的。