Java 应用程序崩溃,文本为空
这需要帮助! 我正试着为一个空的edittext做祝酒词,结果却发现在浮动中不断出现错误 请告知 代码如下:Java 应用程序崩溃,文本为空,java,toast,Java,Toast,这需要帮助! 我正试着为一个空的edittext做祝酒词,结果却发现在浮动中不断出现错误 请告知 代码如下: calcBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { **float bs = Float.parseFloat(basicSalary.getText().toStr
calcBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
**float bs = Float.parseFloat(basicSalary.getText().toString());**
float tw = Float.parseFloat(totalAllowance.getText().toString());
float mob = String spinTEXT = spinner.getSelectedItem().toString();
if (spinner.getSelectedItem().equals("Select age group")){
Toast.makeText(sghospitalbonuscalculator.this, "Test 123",
Toast.LENGTH_SHORT).show();
}
if (basicSalary.getText().toString().equals("")){
Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
Toast.LENGTH_SHORT).show();
}
这就是错误:
java.lang.NumberFormatException: Invalid float: ""
at java.lang.StringToReal.invalidReal(StringToReal.java:63)
at java.lang.StringToReal.parseFloat(StringToReal.java:308)
at java.lang.Float.parseFloat(Float.java:306)
at sg.self.wser.bonuscalc.bonuscalcu$4.onClick(bonuscalcu.java:96)
at android.view.View.performClick(View.java:4756)
at android.view.View$PerformClick.run(View.java:19749)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
java:96引用了以下代码行:
float bs=float.parseFloat(basicSalary.getText().toString())
至于祝酒词,我试图将.equals(“”)改为.equals(“”,.equals(null)和.isEmpty,但仍然不起作用
请告知!
万分感谢
编辑版本:
代码:
显示的错误:
java.lang.NumberFormatException: Invalid float: ""
您希望测试输入是否为空,如果为空,则指定值0.0
float bs = 0.0f;
if (basicSalary.getText().toString().equals("") == false){
bs = Float.parseFloat(basicSalary.getText().toString());
}
进一步测试Toast
if (basicSalary.getText().toString().equals("")){
Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
Toast.LENGTH_SHORT).show();
}
也许你可以把它改成
if (bs == 0.0f){
Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
Toast.LENGTH_SHORT).show();
}
你认为一个空格代表什么浮点数?hmmmmmmm0.0f?道歉如果我错了,请开导我!错误的
java.lang.NumberFormatException:无效浮点:“
表示它不是浮点?没错”
不是浮点你的问题是什么?浮点bs=0.0f代码>此代码将0.0f值赋给bs如果(basicSalary.getText().toString().equals(“”==false){bs=Float.parseFloat(basicSalary.getText().toString());}
此代码表示,如果basicSalary编辑文本框的内容不为空,则将bs设置为basicSalary的Float内容。我说的对吗?它是说1)将默认值0.0设置为bs 2)如果basicSalary
不是空的,请将其值转换为float并将bs设置为该值。完全理解!!!!真的非常感谢你!请原谅我的noob问题,因为我真的坚持了3天,而且我对Java的知识很差,我觉得我在发帖之前已经尽了最大的努力!再次感谢您!我爱爪哇!呜呜呜!
if (bs == 0.0f){
Toast.makeText(sghospitalbonuscalculator.this, "Test 321",
Toast.LENGTH_SHORT).show();
}