2011-08-19 29 views
3

我有一个double变量,它输出一些值。例子:在Java中舍入值

  • 如果value = 62.42,我想值四舍五入到62

  • 如果value = 62.99,我想值四舍五入到62

无论小数点出现什么,它都应该只显示整个值。

回答

0

你试过把这个十进制值赋给一个整数吗?像这样:

int val = value; //where value = 62.42; 
2

下产量62在这两种情况下。

public class Round { 
    public static void main(String[] args) throws Exception { 
     System.out.println((int)Math.floor(62.99)); 
     System.out.println((int)Math.floor(62.42)); 
    } 
} 

使用Math.floor

或者你可以使用Math.round(Math.floor(double a))

+0

谢谢....我想这 – sagarg

0
double doubleRounded = Math.round(doubleWithDecimals); 
double doubleFloored = Math.floor(doubleWithDecimals); 
8

Math.floor(double a)
返回最大的(最接近正无穷大)double值小于小于或等于的说法等于一个数学整数。

1

将其作为int来投射。这会将double值截断为整数部分,丢弃数字的任何小数部分。

例如。

double d = 1.7; 
int i = (int) d; // i = 1 
+0

谢谢..................... – sagarg

+0

如果double值是Thgat不起作用大到适合一个整数。然而,当你知道你只使用足够小的数字时,这是最简单的方法。 –