如何将整数值转换为十进制值?

时间:2010-09-14 09:43:54

标签: java integer-division

我有一个整数值:

Integer value = 56472201;

价值可能是正面的还是负面的。

当我将值除以1000000时,我希望此结果采用56.472201形式,但它只给出了商数。我怎样才能得到商和余数值?

3 个答案:

答案 0 :(得分:6)

将它投射到浮动然后执行:

int i = 56472201;

float j = ((float) i)/1000000.0

编辑:由于精确度(在您的情况下需要),请使用double。同样如Konrad Rudolph指出的那样,不需要明确的演员:

double j = i / 1000000.0;

答案 1 :(得分:1)

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

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

1e6d 1 * 10^6表示为双重

答案 2 :(得分:0)

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

C#中的示例:

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

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