【问题标题】:How to pass a double in .getText()如何在 .getText() 中传递双精度
【发布时间】:2013-09-02 20:48:27
【问题描述】:

我正在尝试创建一个将摄氏度转换为华氏温度的应用程序。我想在 .getText() 中传递浮点数,但我无法这样做,这给了我错误,说不能在原始时间浮点数上调用 .getText()。就像我想将用户输入作为双倍然后进行数学计算。您能否建议我实现这一目标的方法。

    changer = Float.parseFloat(textIn.getText().toString());
          textOut.setText(changer);

【问题讨论】:

  • 请给出理由而不是仅仅投反对票。
  • 请把你的源代码放在这里,这样对你有帮助
  • 请把你试过的源码放上去。
  • 投反对票的原因是什么。

标签: android string


【解决方案1】:

首先你需要edittext.gettext().tostring。并将字符串转换为双精度。

【讨论】:

    【解决方案2】:
    txtProt = (EditText) findViewById(R.id.Protein);
    p = txtProt.getText().toString();
    protein = Double.parseDouble(p);
    

    【讨论】:

      【解决方案3】:
         float celsius = Float.parseFloat(textIn.getText().toString());
         float farhenheit = (celsius * 1.8f) + 32.0f;
         textOut.setText(""+farhenheit);
      

      在从华氏转换为摄氏度的情况下:

      case(R.id.radioButton2):
       float farhenheit = Float.parseFloat(textIn.getText().toString());
             float celsius = (( farhenheit - 32.0f ) x 5.0f ) / 9.0f;
             textOut.setText(""+celsius);
               break;
      

      注意:您应该在switch 块中每个case 的末尾添加break;

      【讨论】:

      • 谢谢!你能建议我在 case(R.id.radiobutton_celsius) 下的代码吗?就像我试过这个 float math = changer * 9/5 + 32 ; textOut.setText(""+数学);但它不工作
      • 我不明白你:)。您应该编辑您的问题并提供您尝试过的代码,我们将解决您遇到的问题
      • 再次感谢...但是,当我测试应用程序时,它崩溃了。
      • 添加从 Logcat 得到的异常的堆栈
      • 05-22 13:53:14.869:E/AndroidRuntime(779):致命异常:主要 05-22 13:53:14.869:E/AndroidRuntime(779):java.lang.NumberFormatException:无效浮点数:"" 05-22 13:53:14.869: E/AndroidRuntime(779): at java.lang.StringToReal.invalidReal(StringToReal.java:63) 05-22 13:53:14.869: E/AndroidRuntime(779 ): 在 java.lang.StringToReal.parseFloat(StringToReal.java:289) 05-22 13:53:14.869: E/AndroidRuntime(779): 在 java.lang.Float.parseFloat(Float.java:300) 05- 22 13:53:14.869: E/AndroidRuntime(779): 在 com.example.tempo.MainActivity.onCheckedChanged(MainActivity.java:67)
      【解决方案4】:

      我目前无法对此进行测试,但我认为这是您需要的答案

      String text = edittext.gettext.toString()
      double f = double.parseDouble(text);
      double f2 = do the math to calculate farhenheit
      textview.settext(f2.toString())
      

      【讨论】:

        【解决方案5】:

        我认为您必须尝试此链接参考

        Celsius to fahrenheit android (answer)

        没有代码,所以我建议上面的链接

        textOut.setText(""+changer);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-10-29
          • 1970-01-01
          相关资源
          最近更新 更多