0

我有很多数据,我从数据库中检索并使用这些数据创建图表(其中一些已添加)

其中一个图表显示百分比,因此我必须将我的数据计算为百分比。

我的老板有另一个程序也显示百分比(但没有图表),在制作我的程序后,他来找我说我表中的数字是错误的。

我查看了一下,发现双倍(按百分比计算)是以下数字:85.53178390026166

显然我的程序将这个数字四舍五入到 86。

现在我的问题是:有什么方法可以阻止程序四舍五入,除非它是 0.75 或更接近?而是在这个例子中四舍五入到 85?

4

4 回答 4

3

好吧,首先请注意,85.5386比它更接近85.75话虽如此,如果您希望它仅在大于或等于时四舍五入,请执行以下操作:

Math.floor(number + .25);

例子:

10.2 -> 10.45 -> 10
10.6 -> 10.85 -> 10
10.74 -> 10.99 -> 10
10.76 -> 11.01 -> 11
于 2012-11-14T12:30:05.597 回答
2

尝试这个

import java.math.BigDecimal;
BigDecimal myDec = new BigDecimal( myDouble );
myDec = myDec.setScale( 2, BigDecimal.ROUND_HALF_UP );




import java.math.BigDecimal;
BigDecimal myDec = new BigDecimal( myDouble );
myDec = myDec.setScale( 2, BigDecimal.ROUND_HALF_DOWN );
于 2012-11-14T12:34:14.303 回答
1

尝试这个:

int returnRoundOffNumber(Double number)
{  

if((number-Integer.parseInt(number)>0.75)
 return Math.ceil(number);

else   
  return Math.floor(number);
}
于 2012-11-14T12:36:14.053 回答
0

如果您的老板那么挑剔,那么我建议您不要将它们四舍五入,但您可以使用您与老板协商的一些小数位来显示数字。

于 2012-11-14T12:29:44.663 回答