在Java中,将两个数字的百分比精确到十分之一
我试图在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得到百分比,然后假设十进制格式将它四舍五入到小数点后一位,但它一直返回零 您可能需要将其更
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
。