如何将Integer值转换为十进制值?

我有一个整数值:

Integer value = 56472201; 

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

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

把它扔到浮动然后做:

 int i = 56472201; float j = ((float) i)/1000000.0 

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

 double j = i / 1000000.0; 

如果将int除以double,则将保留双倍结果,如此unit testing所示。

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

1e6d1 * 10^6表示为double

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

C#中的示例:

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

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