Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/396.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_Android - Fatal编程技术网

Java 四舍五入至小数点后一位

Java 四舍五入至小数点后一位,java,android,Java,Android,我目前正在开发一个温度转换器应用程序。一切正常,但我可以得到超过5位小数,我曾尝试在谷歌上查找和搜索,但无法找到如何做到这一点。下面是我在main.java中显示文本的地方: text = (EditText) findViewById(R.id.editText1); result = (TextView) findViewById(R.id.tvResult); float inputValue = Float.parseFloat(text.getText().toString());

我目前正在开发一个温度转换器应用程序。一切正常,但我可以得到超过5位小数,我曾尝试在谷歌上查找和搜索,但无法找到如何做到这一点。下面是我在main.java中显示文本的地方:

text = (EditText) findViewById(R.id.editText1);
result = (TextView) findViewById(R.id.tvResult);
float inputValue = Float.parseFloat(text.getText().toString());
      DecimalFormat df = new DecimalFormat("#.00");
      String s = (String.valueOf(ConvertFahrCels.convertCelsiusToFahrenheit(inputValue)));
      String d = (String.valueOf(ConvertFahrCels.convertFahrenheitToCelsius(inputValue)));

      if (celsiusButton.isChecked()) {
        result.setText(d);
        celsiusButton.setChecked(false);
        fahrenheitButton.setChecked(true);

      } else {
        result.setText(s);
        fahrenheitButton.setChecked(false);
        celsiusButton.setChecked(true);
      }
这里是我计算它的地方:

    // converts to celsius
  public static float convertFahrenheitToCelsius(float fahrenheit) {
    return ((fahrenheit - 32) * 5 / 9);

  }

  // converts to fahrenheit
  public static float convertCelsiusToFahrenheit(float celsius) {
    return ((celsius * 9) / 5) + 32;
  }

这里的代码意味着它正在创建一个十进制格式来完成这项工作,但是,实际上您并没有使用它

代码应为:

  DecimalFormat df = new DecimalFormat("#.00");
  String s = df.format(ConvertFahrCels.convertCelsiusToFahrenheit(inputValue));
  String d = df.format(ConvertFahrCels.convertFahrenheitToCelsius(inputValue));
现在在Java中,使用十进制格式比使用十进制格式更为常见。考虑:

  String s = String.format("%.1f", ConvertFahrCels.convertCelsiusToFahrenheit(inputValue));
最后,您的问题表明您需要1位小数,但是,您使用的小数格式增加了2位

  String s = String.format("%.1f", ConvertFahrCels.convertCelsiusToFahrenheit(inputValue));