Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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专业的学生,除了一行代码外,其余的代码都可以正常工作,但不确定哪些代码不能正常工作。我得到的错误是“找不到符号”。我非常感谢提前给予的帮助 /** * NAME: Mitchell Noble * DATE: November 3, 2015 * FILE: lab10 * COMMENTS: This program displays a loop using a celcius to fahrenheit conversion formula

嘿,伙计们,我是一名Java专业的学生,除了一行代码外,其余的代码都可以正常工作,但不确定哪些代码不能正常工作。我得到的错误是“找不到符号”。我非常感谢提前给予的帮助

/**
  * NAME: Mitchell Noble
  * DATE: November 3, 2015
  * FILE: lab10
  * COMMENTS: This program displays a loop using a celcius to fahrenheit conversion formula
  */

public class lab10
{
   public static void main(String[] args)
   {
      // declare variables
      double fahrenheit;
      double celsius;

      value.setPrecision(2);
      celsius = 0;
      System.out.print("Celsius        Fahrenheit");
      while (celsius <= 15)
      {
         fahrenheit = 9 / 5 * celsius + 32;
         System.out.print(celsius + "             " + fahrenheit);
         celsius = celsius + 1;
      }
   } // close main
}
/**
*姓名:米切尔·诺布尔
*日期:2015年11月3日
*档案:lab10
*注释:此程序显示使用celcius到fahrenheit转换公式的循环
*/
公共类lab10
{
公共静态void main(字符串[]args)
{
//声明变量
双华氏度;
双摄氏度;
设置精度(2);
摄氏度=0;
系统输出打印(“摄氏华氏度”);

而(摄氏值是未定义的变量。要设置局部变量的精度,请执行以下操作:

fahrenheit.setPrecision(2);
celsius.setPrecision(2);

这将为两个双变量提供所需的精度。

是否尝试使用任意精度进行浮点运算?如果是,您需要查看java的BigDecimal类:

这样做:

BigDecimal celsiusValue = new BigDecimal("18");
BigDecimal farenheit = celsiusValue.multiply(new BigDecimal("1.8")).add(new BigDecimal("32"));
String toPrint = new DecimalFormat("#.##").format(celsius);
如果您只是想将其格式化为以两个小数打印出来,您可以这样做:

BigDecimal celsiusValue = new BigDecimal("18");
BigDecimal farenheit = celsiusValue.multiply(new BigDecimal("1.8")).add(new BigDecimal("32"));
String toPrint = new DecimalFormat("#.##").format(celsius);

value.setPrecision(2);
那里的值是多少?作为@sᴜʀᴇsʜᴀᴛᴛᴀ 指出,这里的“value”是什么?看起来像是从某个在线示例复制的语句。将“value.setPrecision()”替换为“fahrenheit.setPrecision()”。如果它们被声明为double,调用setPrecision将不起作用,它们是基元。不能对基元double调用方法。