6

我有一个整数值:

Integer value = 56472201;

值可能是正数或负数。

当我将该值除以 1000000 时,我希望这个结果出现在表格中,56.472201但它只给了我商。我怎样才能同时获得商和余数值?

4

3 回答 3

6

将其转换为浮动,然后执行此操作:

int i = 56472201;

float j = ((float) i)/1000000.0

编辑:由于精度(在您的情况下需要),请使用双精度。同样正如 Konrad Rudolph 所指出的,不需要显式转换:

double j = i / 1000000.0;
于 2010-09-14T09:48:07.840 回答
1

如果你将一个 int 除以一个 double,你将得到一个 double 结果,如本单元测试所示。

@Test
public void testIntToDouble() throws Exception {
    final int x = 56472201;
    Assert.assertEquals(56.472201, x / 1e6d);
}

1e6d表示1 * 10^6为双

于 2010-09-14T10:23:54.913 回答
0

您必须先将值转换为浮点类型,否则您将进行整数除法。

C# 中的示例:

int value = 56472201;
double decimalValue = (double)value / 1000000.0;

(此代码中实际上不需要强制转换,因为除以浮点数会将值强制转换为匹配,但在代码中写出强制转换更清楚,因为这就是实际发生的情况。)

于 2010-09-14T09:48:45.390 回答