关于double和int如何进行转换

Dav*_*vid 1 java

我有两个变量:

double d1 = 15.20;
 int i1 = 10;
Run Code Online (Sandbox Code Playgroud)

我想将i1除以100,这样我就可以得到0.1然后我想加入d1.

这是我尝试过的东西

i1 = i1/100 result is 0

i1 = (int) ((double)i1/100); result is 0

我尝试了几种相同的东西,但要么我得到结果0或2.

任何人都可以告诉我如何使用铸造wrt double和int来进行操作.我是java的新手

Sur*_*tta 5

i1 = (int) ((double)i1/100);
Run Code Online (Sandbox Code Playgroud)

因为i1是一个integer,无论右边的结果是什么,它都会转换/舍入为整数.因此你的结果0.1转换回来0.

将其存储在a中double以保留double结果.

double result = ((double)i1/100);
Run Code Online (Sandbox Code Playgroud)

或者甚至更好,将任何操作数转换double为告诉结果应该是一个,double以便您可以完全避免投射.

 double result = i1/100.0;
Run Code Online (Sandbox Code Playgroud)

  • @David这样做没有什么害处,但你显然不需要它,因为语言已经给你一个简单的选择.如果必须,你可以做到. (2认同)