Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中,将两个数字的百分比精确到十分之一_Java - Fatal编程技术网

在Java中,将两个数字的百分比精确到十分之一

在Java中,将两个数字的百分比精确到十分之一,java,Java,我试图在java中获得两个数字中最接近的百分比,但它不起作用 这就是我到目前为止所做的: DecimalFormat df = new DecimalFormat("0.0"); double PD1 = (minus1 / MaxInt) * 100; P1 = String.valueOf(df.format(PD1)); MaxInt是可能的数字,minus1是MaxInt-1,然后我将它乘以100得到百分比,然后假设十进制格式将它四舍五入到小数点后一位,但它一直返回零 您可能需要将其更

我试图在java中获得两个数字中最接近的百分比,但它不起作用

这就是我到目前为止所做的:

DecimalFormat df = new DecimalFormat("0.0");
double PD1 = (minus1 / MaxInt) * 100;
P1 = String.valueOf(df.format(PD1));

MaxInt是可能的数字,minus1是MaxInt-1,然后我将它乘以100得到百分比,然后假设十进制格式将它四舍五入到小数点后一位,但它一直返回零

您可能需要将其更改为以下内容:

DecimalFormat df = new DecimalFormat("0.0");
double PD1 = (double)minus1/MaxInt * 100;
P1 = String.valueOF(df.format(PD1));

基本上,你需要的是你的论点,而不是你的结果。当您完成该操作时,您将始终得到零,因为整数除以较大的整数总是零。

您可能需要将其更改为以下内容:

DecimalFormat df = new DecimalFormat("0.0");
double PD1 = (double)minus1/MaxInt * 100;
P1 = String.valueOF(df.format(PD1));
基本上,你需要的是你的论点,而不是你的结果。当您完成该操作时,您将始终得到零,因为整数除以较大的整数总是零。

将其更改为:

double PD1 = ((double) minus1 / MaxInt) * 100; 
有关更多说明,请查看java中的此链接

将其更改为:

double PD1 = ((double) minus1 / MaxInt) * 100; 
有关更多说明,请查看java中的此链接

首先,您的标题是“在Java中将两个数字的百分比取到最接近的十分之一”,而您的文本是“我正在尝试获取两个数字中最接近的百分比”

假设变量
双a=12.34567表示一个百分比(即1234567%),将其四舍五入到最接近的十分之一:

public class tst85 {
    public static   void main( String[] args)
    {
        double a = 12.34567;
        double ar = Math.round(10.0*a)/10.0;
        System.out.println(ar + " %");
    }
}
这会打印出来

12.3 %
对于最接近的百分比,只需使用
Math.round

首先,您的标题是“在Java中将两个数字的百分比取到最接近的十分之一”,而您的文本是“我正在尝试获取两个数字中最接近的百分比”

假设变量
双a=12.34567表示一个百分比(即1234567%),将其四舍五入到最接近的十分之一:

public class tst85 {
    public static   void main( String[] args)
    {
        double a = 12.34567;
        double ar = Math.round(10.0*a)/10.0;
        System.out.println(ar + " %");
    }
}
这会打印出来

12.3 %

对于最接近的百分比,只需使用
Math.round

我将假设
minus1
MaxInt
是整数。这行不通。您需要至少转换一个值。Google用java划分整数。下面是一个简单的例子。。我假设
minus1
MaxInt
是整数。这行不通。您需要至少转换一个值。Google用java划分整数。下面是一个简单的例子@塞洛斯:不,不会的。零乘以100.0仍然是零。他必须把一个
int
转换成
double
@Ceelos不,不会的。零乘以100.0仍然是零。他必须将一个
int
转换为
double
。您还没有测试过这个。例如,试试
double d=1/3*100.0
。您还没有测试过这个。例如,试试
double d=1/3*100.0