我正在练习调试,有一个问题,我不确定,它是在问什么是错的,我该怎么做才能修复它我读了它的章节,但不够具体.从书中粘贴:
int a = 26.4 ^编译时,这是消息:
Test.Java:8:可能的精度损失int = 26.4;
required:int found:double 1 error
我对为什么会出现错误有一个很好的理解,因为double的优先级高于int,以及int如何必然存储double值.
我的问题是,有没有办法将转换变量a键入双重类型?或者是通过将from int更改为double来解决此问题的唯一方法?
谢谢
你唯一的可能性是:
如果要将数字存储为整数,请键入cast doubleinto int:
int a = (int)26.4 // so a will be 26
Run Code Online (Sandbox Code Playgroud)
(你显然会以这种方式失去精确度)
将数字存储为a double以保持精度:
double a = 26.4
Run Code Online (Sandbox Code Playgroud)铸造无济于事,请看下面的代码:
//int a = 26.4; // gives compile error
int a = (int) 26.4; // gives 26
double b = a; // gives 26.0
double c = (double) a; // also gives 26.0
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
53871 次 |
| 最近记录: |