拥有这段代码
System.out.println (routeSummary);
long ms = (Long)routeSummary.get("total_distance");
System.out.println (ms);
double kms = (ms / 1000);
System.out.println (kms);
ms = 19283
但kms = 19.0
???不应该是19.283
??
答案 0 :(得分:2)
试试这个:
double kms = (ms / 1000.0);
答案 1 :(得分:0)
用
替换double kms = (ms / 1000);
double kms = (ms / 1000.00);
原因 ms为long,1000为int,因此在划分时,小数部分将被截断 所以要么使1000.00或1000.0或1000.000投两倍像(双)1000
答案 2 :(得分:0)
您需要对变量进行类型转换。划分两个长的将导致长。你可以用这个:
double kms = (double)ms / 1000.0;
答案 3 :(得分:0)
确保您正在计算的其中一个变量具有所需的结果类型,至少是一个浮点。
double kms = ((double) ms / 1000);
或
double kms = ( ms / (double) 1000);
或
double t = 1000;
double kms = ms / t;