相关疑难解决方法(0)

整数除法:你如何产生双倍?

对于此代码块:

int num = 5;
int denom = 7;
double d = num / denom;
Run Code Online (Sandbox Code Playgroud)

价值d0.0.它可以通过强制转换来强制工作:

double d = ((double) num) / denom;
Run Code Online (Sandbox Code Playgroud)

但还有另一种方法可以获得正确的double结果吗?我不喜欢铸造原始人,谁知道会发生什么.

java casting integer-division

232
推荐指数
6
解决办法
36万
查看次数

长期划分长回报0

我试图计算Windows中已用磁盘空间的百分比,而totaldrive表示Long中的C驱动器的总磁盘空间和Long中的freedrive dentoes可用空间.

 long totaloccupied = totaldrive - freedrive;
Run Code Online (Sandbox Code Playgroud)

这里计算使用百分比

 Long Percentageused =(totaloccupied/totaldrive*100);
 System.out.println(Percentageused);
Run Code Online (Sandbox Code Playgroud)

print语句返回0.有人可以提供帮助,因为我没有得到所需的值

java

29
推荐指数
2
解决办法
3万
查看次数

3/2 = 1.0?真?

可能重复:
Java Integer Division,你如何生成一个double?

double wang = 3 / 2;
Log.v("TEST", "Wang: " + Double.toString(wang));
Run Code Online (Sandbox Code Playgroud)

Logcat输出......

07-04 09:01:03.908: VERBOSE/TEST(28432): Wang: 1.0
Run Code Online (Sandbox Code Playgroud)

我确信这有一个明显的答案,可能我只是整夜编码累了,但这让我很难过.

java android

2
推荐指数
4
解决办法
2万
查看次数

计算总是导致零

我有以下java代码

long x=25782

float y=x/1000000000
Run Code Online (Sandbox Code Playgroud)

而不是像我期望的那样y等于0.000025782,它等于0.0

我究竟做错了什么?

java

-1
推荐指数
1
解决办法
133
查看次数

当我在Java中做除法时,我丢失了小数点,如何显示它?

当我这样做时

    double money = 2.3452;
    DecimalFormat decFor = new DecimalFormat("0.00");
    System.out.println(decFor.format(money));
Run Code Online (Sandbox Code Playgroud)

我得到这个输出:2.35

但是当我这样做时

    double money = 1/8;
    DecimalFormat decFor = new DecimalFormat("0.00");
    System.out.println(decFor.format(money));
Run Code Online (Sandbox Code Playgroud)

我得到:0.00

如何让Java显示0.12而不是0.00?

java

-2
推荐指数
1
解决办法
7057
查看次数

标签 统计

java ×5

android ×1

casting ×1

integer-division ×1