0

您好,我正在制作一个计算频率分布的程序,但我在获取类数时遇到问题,因为我将在频率分布中使用它……类的结果是……

6.286797971382275,它是正确的但是......

我想把这个四舍五入到7......

我该怎么做?谢谢

    String []values = ( inputValues.getText().toString().split(","));
            int[] convertedValues = new int[values.length];
            txtTotalNum.setText(Integer.toString(values.length));


            //calculate for the minimum and maximum number
            Arrays.sort(convertedValues);

            int max=convertedValues[0];
            for(int i=0;i<convertedValues.length;i++){
                convertedValues[i] =Integer.parseInt(values[i]);
                if(convertedValues[i]>max){
                    max=convertedValues[i];
                }
            }

            int min = convertedValues[0];
             double classes=0;
            for(int i=0;i<convertedValues.length;i++){
                convertedValues[i] =Integer.parseInt(values[i]);
                if(convertedValues[i]<min){
                    min=convertedValues[i];

                }
            }

            txtMinimum.setText(Integer.toString(min));
            txtMaximum.setText(Integer.toString(max));


            //calculate for the range

            int range=max - min;
            txtRange.setText(Integer.toString(range));

            //calculate for the # of classes

                classes=1+3.3*Math.log10(convertedValues.length);

              Classes.setText(Double.toString(classes));
4

5 回答 5

3

使用Math.ceil()

Math.ceil(6.286797971382275);

这就是它要回报你的东西,

大于或等于参数且等于数学整数的最小(最接近负无穷大)浮点值。

在使用之前阅读 API。

于 2013-09-25T09:45:21.203 回答
2

考虑数学课。

数学.ceil()

于 2013-09-25T09:44:29.383 回答
2

只需使用Math.ceil(). 它会将您的数字四舍五入到最接近的整数值。请注意,它仍然返回一个双精度值。

于 2013-09-25T09:45:12.700 回答
0

使用下面的代码。双 dval = 6.286797971382275;System.out.println(dval); System.out.println(Math.ceil((dval)));

于 2013-09-25T09:58:02.120 回答
0

你可以DecimalFormat在旁边使用Math.ceil()

double input = 6.286797971382275;
DecimalFormat df = new DecimalFormat("#");

df.setRoundingMode(RoundingMode.UP);
String output = df.format(input);

System.out.println("output  : " + output);
于 2015-05-22T12:35:42.437 回答