为什么将String转换为double会导致精度降低?

Lis*_*isa 0 java string double

for (int i = 0; i < 18; i++) {
  line = file.readLine();
  String[] word = line.split(";");

  appartment[i] = new Appartment();
  appartment[i].floor= Integer.parseInt(word[0]);
  appartment[i].name = word[1];
  appartment[i].money= Double.parseDouble(word[2]);
  appartment[i].owner= word[3];
}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么这不起作用?我正在读取文件.我试图将钱从字符串转换为双倍,但它说

possible loss of precision. 
required: int
found: double
Run Code Online (Sandbox Code Playgroud)

我需要双打,所以所有者帐户也可以消极.

Kum*_*tra 5

-它似乎appartment是一个类型的数组Appartment,其中Appartement的对象字段名称moneyint类型.

-但是你正在将它作为double类型的值,因此你需要一个从double到int 的显式转换,

例如:

appartment[i].money= (int) Double.parseDouble(word[2]);