假设我的范围是 0-100 &我选择一个随机数X表示29。
现在我将范围增加到一个很大的数字,比如一个10位数的1023654740。
现在我想在0-1023654740找到那个X的位置。 (因此我相信是1023654740的29%)
如果我使用Double
执行计算,我会得到一个指数值。
double range = 1023654740;
double position = 29; // Can be any number from 0 - range
Double val = (((double) position / range) * 100);
Result: 2.8329864422842414E-6
但我想在int
中找到最终结果。(不要在意最终值是否四舍五入或截断)
任何建议
答案 0 :(得分:1)
好像你的结果是Double
为什么你不做
val.intValue()
答案 1 :(得分:1)
首先,你的计算错了。根据您的描述,您可能希望执行以下操作:
Double val = ((double)position / 100) * range;
然后你可以通过以下方式获取你的int值(通过截断):
int intVal = val.intValue();
答案 2 :(得分:1)
如果是提出结果的问题,你应该看看:
String myBeautifulInteger = NumberFormat.getIntegerInstance().format(val);
如果只是一个整数问题。
int myInt = val.intValue();