string - 错误:原因:java.lang.NumberFormatException:对于输入字符串:“3,00”
问题描述
我对编程完全陌生,很难在问题部分找到一些东西 - 对不起!我正在做一个 android 应用程序来计算 Timber-Conrete-Ceilings。该应用程序在模拟器上运行良好,但不适用于手机/平板电脑。当我按下按钮进入下一个活动时,它崩溃了。为了理解:第一个活动称为“lasteingabe”,第二个称为“摘要”。
崩溃活动中的代码 - “Lasteingabe”:
package com.example.hbv_1;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import java.text.DecimalFormat;
import java.util.Locale;
public class Lasteingabe extends AppCompatActivity{
private Button button3;
DecimalFormat eigengewicht = new DecimalFormat("##0.00");
int γ1 = 25;
double γ2C24 = 4.2;
double γ2C30 = 4.6;
double γGl24h = 3.7;
double γGl28h = 4.0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lasteingabe);
Intent intent = getIntent();
String Stützweite = intent.getStringExtra("Stützweite");
String BreiteBeton = intent.getStringExtra("BreiteBeton");
String HöheBeton = intent.getStringExtra("HöheBeton");
String BreiteHolz = intent.getStringExtra("BreiteHolz");
String HöheHolz = intent.getStringExtra("HöheHolz");
String VMAbstand = intent.getStringExtra("VMAbstand");
String Betongüte = intent.getStringExtra("Betongüte");
String Holzart = intent.getStringExtra("Holzart");
String Verbindungsmittel = intent.getStringExtra("Verbindungsmittel");
String Nutzungklassetxt = intent.getStringExtra("Nutzungsklasse");
String VMReihen = intent.getStringExtra("VMReihen");
String lef = intent.getStringExtra("lef");
Spinner spinner = (Spinner) findViewById(R.id. Trennwandzuschlag);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.Trennwandzuschlag, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
double stWeite = Double.parseDouble(Stützweite);
double bBeton = Double.parseDouble(BreiteBeton);
double hBeton = Double.parseDouble(HöheBeton);
double bHolz = Double.parseDouble(BreiteHolz);
double hHolz = Double.parseDouble(HöheHolz);
double γ2 = 0;
switch (Holzart) {
case "NH C24":
γ2 = γ2C24;
break;
case "NH C30":
γ2 = γ2C30;
break;
case "GL 24h":
γ2 = γGl24h;
break;
case "GL 28h":
γ2 = γGl28h;
break;
}
double Last1 = (γ1 * bBeton * hBeton / 10000);
String LastBeton = eigengewicht.format(Last1);
double Last2 = (γ2 * bHolz * hHolz / 10000);
String LastHolz = eigengewicht.format(Last2);
TextView EigengewichtBeton = (TextView) findViewById(R.id.EGBeton);
TextView EigengewichtHolz = (TextView) findViewById(R.id.EGHolz);
EigengewichtBeton.setText(LastBeton);
EigengewichtHolz.setText(LastHolz);
final EditText Fußbodenaufbau = (EditText) findViewById(R.id.editFußbodenaufbau);
final EditText Nutzlast = (EditText) findViewById(R.id.editNutzlast);
button3 = (Button) findViewById(R.id.button3);
button3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Lasteingabe.this, summary.class);
String Trennwandzuschlagtxt = spinner.getSelectedItem().toString();
String Fußbodenaufbautxt = Fußbodenaufbau.getText().toString();
String Nutzlasttxt = Nutzlast.getText().toString();
intent.putExtra("Trennwandzuschlag", Trennwandzuschlagtxt);
intent.putExtra("Fußbodenaufbau", Fußbodenaufbautxt);
intent.putExtra("Nutzlast", Nutzlasttxt);
intent.putExtra("LastBeton", LastBeton);
intent.putExtra("LastHolz", LastHolz);
intent.putExtras(getIntent().getExtras());
startActivity(intent);
}
});
}
}
错误:
--------- beginning of crash
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.hbv_1, PID: 11855
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hbv_1/com.example.hbv_1.summary}: java.lang.NumberFormatException: For input string: "3,00"
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3303)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994)
at android.os.Handler.dispatchMessage(Handler.java:108)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7529)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
Caused by: java.lang.NumberFormatException: For input string: "3,00"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:539)
at com.example.hbv_1.summary.onCreate(summary.java:82)
at android.app.Activity.performCreate(Activity.java:7383)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411)
at android.app.ActivityThread.-wrap12(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994)
at android.os.Handler.dispatchMessage(Handler.java:108)
at android.os.Looper.loop(Looper.java:166)
at android.app.ActivityThread.main(ActivityThread.java:7529)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
I/Process: Sending signal. PID: 11855 SIG: 9
Disconnected from the target VM, address: 'localhost:55845', transport: 'socket'
我认为它与“,”有关,但我不知道如何避免它以及为什么它适用于模拟器但不适用于硬件设备......非常感谢你帮助我!
解决方案
推荐阅读
- linux - 如何通过按取消按钮关闭 zenity 窗口?
- python - 如何让 Sympy(在 python 中)插入函数的给定值?
- c++ - 如何使用范围枚举模板参数设置数组别名的长度而不进行强制转换
- c - 为什么我的“c”变量在 for 循环中到达第三个循环时呈指数增长?
- javascript - 使用不和谐 js 删除用户消息中的特定嵌入(或显示正确存储的嵌入)
- c++ - 不知道如何解决:“。”之前的预期主表达式 令牌
- react-native - 以高性能的方式渲染 FlatList 的视频
- python - TF Keras 模型输入上的低通滤波器
- python - 如何使用 for 循环和方法查询创建新的数据框来过滤我已经存在的数据框?
- function - 使用 dat.gui 修改函数的参数并修改其图形