1

我需要一种如下所示的方法的帮助,我需要返回带一位小数的半径,感谢所有帮助,我应该使用小数格式来这样做。

public double beraknaOmkrets()
{
    DecimalFormat f = new DecimalFormat("##.0");

    double omkrets = 0;
    omkrets = radie*2*3.14;
    return f.format(omkrets).toString;
}
4

6 回答 6

1
  1. toString()您忘记了方法调用末尾的括号。
  2. 您的方法签名是double,但您尝试返回一个 String. 将返回类型更改为String.

顺便说一句,您可以将 2 个 omkrets 初始化行合并为一个,如果您在下一行更改其值,则无需将其初始化为 0:double omkrets = radie*2*3.14;

于 2012-08-04T08:52:47.273 回答
0

1.你需要DecimalFormat

public double beraknaOmkrets()
{


    DecimalFormat f = new DecimalFormat("##.0");

    double omkrets = 0;
    omkrets = f.format(radie*2*3.14);
    return omkrets;

}
于 2012-08-04T09:04:05.340 回答
0
public string beraknaOmkrets()
{
    DecimalFormat f = new DecimalFormat("##.0");    
    return f.format(radie*2*3.14).toString();
}
于 2012-08-04T08:54:22.727 回答
0

该方法的返回类型是双精度,并且您返回一个字符串(因为您的调用.toString();。您可以将其更改为:

public double beraknaOmkrets()
{
  double omkrets = 0;
  omkrets = radie*2*3.14;
  return omkrets;

} 

然后有一个字符串方法,如:

public String beraknaOmkretsFormatted(double omkrets)
{
      DecimalFormat f = new DecimalFormat("##.0");
      return f.format(omkrets).toString();
}
于 2012-08-04T08:55:55.620 回答
0

双精度和浮点数是数字。它们不携带格式。

4.100 = 4.100000

要格式化浮点数或双精度数,您必须为其创建一个字符串。正如您所做的那样,但您的方法在签名中返回 double 。

于 2012-08-04T08:56:27.273 回答
0

返回字符串时,方法的返回类型为 double。将方法的返回类型更改为 String ,也无需将其初始化为 0 ,因为在该范围内,您将在下一行更改值。

于 2012-08-04T08:59:07.053 回答