Error[8]: Undefined offset: 3, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

概述以下是我的一项活动的Java代码,当手机的语言为英语时,它可以正常工作,但是当手机的语言设置为波斯语或阿拉伯语时,它会崩溃.logcat表示Double.parseDouble出了点问题.看来,当用户输入数字时,会将其更改为波斯数字或阿拉伯数字,这就是崩溃的原因.任何想法如何解决?Java代码:import

以下是我的一项活动的Java代码,当手机的语言为英语时,它可以正常工作,但是当手机的语言设置为波斯语或阿拉伯语时,它会崩溃. logcat表示Double.parseDouble出了点问题.看来,当用户输入数字时,会将其更改为波斯数字或阿拉伯数字,这就是崩溃的原因.任何想法如何解决?

Java代码:

import androID.content.Intent;import androID.os.Bundle;import androID.support.design.Widget.Snackbar;import androID.support.v7.app.AppCompatActivity;import androID.support.v7.Widget.Toolbar;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import androID.Widget.TextVIEw;import java.math.BigDecimal;import java.text.DecimalFormat;public class stressesoninclinedsections extends AppCompatActivity {private EditText input1;private EditText input2;private EditText input3;private TextVIEw sh_resultt;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_stressesoninclinedsections);    Toolbar toolbar = (Toolbar) findVIEwByID(R.ID.toolbar);    setSupportActionbar(toolbar);    input1 = (EditText) findVIEwByID(R.ID.editText);    input2 = (EditText) findVIEwByID(R.ID.editText2);    input3 = (EditText) findVIEwByID(R.ID.editText3);    button bt_calculate1 = (button) findVIEwByID(R.ID.button4);    sh_resultt = (TextVIEw) findVIEwByID(R.ID.textVIEw8);    bt_calculate1.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw vIEw) {            makeCalculationss();        }    });}private voID makeCalculationss() {    if ( input1.getText().toString().trim().equals("") || input1.getText().toString().trim().equals("-") || input1.getText().toString().trim().equals(".") || input1.getText().toString().trim().equals("-.")            || input2.getText().toString().trim().equals("") || input2.getText().toString().trim().equals(".")            ||  input3.getText().toString().trim().equals("") || input3.getText().toString().trim().equals("-") || input3.getText().toString().trim().equals(".") || input3.getText().toString().trim().equals("-.")) {        sh_resultt.setText("");        Snackbar.make(findVIEwByID(androID.R.ID.content), "لطفا مقادیر تمامی متغیرها را وارد کنید ", Snackbar.LENGTH_LONG)                .show();    }    else {        Double n1 = Double.valueOf(input1.getText().toString());        Double n2 = Double.valueOf(input2.getText().toString());        Double n3 = Double.valueOf(input3.getText().toString());        Double n3pi2 = n3+90;        Double n3pi2rad = (n3pi2*Math.PI)/180;        Double n3radians = (n3*Math.PI)/180;        Double result1 = ((n1 / n2) *Math.cos(n3radians)*Math.cos(n3radians))/1000;        Double result2 = ((n1 / n2) *Math.cos(n3pi2rad)*Math.cos(n3pi2rad))/1000;        Double result3 = -((n1 / n2) *Math.sin(n3radians)*Math.cos(n3radians))/1000;        result1 =Double.parseDouble(new DecimalFormat("##.######").format(result1));        result2 =Double.parseDouble(new DecimalFormat("##.######").format(result2));        result3 =Double.parseDouble(new DecimalFormat("##.######").format(result3));        sh_resultt.setText( "σx' (MPa)=\n" + result1 + "\n" + "\nσy' (MPa)=\n" + result2 + "\n" + "\nTx'y' (MPa)=\n" + result3 );    }}@OverrIDepublic voID onBackpressed() {    Intent intent = new Intent(stressesoninclinedsections.this, solIDmechanics.class);    startActivity(intent);    finish();}}

这是Logcat:

03-08 19:16:32.457 3035-3035/com.wima.civilengineeringcalculator E/AndroIDRuntime: FATAL EXCEPTION: main                                                                               java.lang.NumberFormatException: InvalID long: "٠٫٠١١٧٥٢"                                                                                   at java.lang.Long.invalIDLong(Long.java:125)                                                                                   at java.lang.Long.parse(Long.java:362)                                                                                   at java.lang.Long.parseLong(Long.java:353)                                                                                   at java.lang.Long.parseLong(Long.java:319)                                                                                   at java.math.BigDecimal.<init>(BigDecimal.java:350)                                                                                   at java.math.BigDecimal.<init>(BigDecimal.java:438)                                                                                   at com.wima.civilengineeringcalculator.stressesoninclinedsections.makeCalculationss(stressesoninclinedsections.java:65)                                                                                   at com.wima.civilengineeringcalculator.stressesoninclinedsections.accesstry {    Double d=(Double)NumberFormat.getInstance(new Locale("en","US")).parse("123");} catch (ParseException e) {    e.printstacktrace();}0(stressesoninclinedsections.java:16)                                                                                   at com.wima.civilengineeringcalculator.stressesoninclinedsections.onClick(stressesoninclinedsections.java:42)                                                                                   at androID.vIEw.VIEw.performClick(VIEw.java:3549)                                                                                   at androID.vIEw.VIEw$PerformClick.run(VIEw.java:14393)                                                                                   at androID.os.Handler.handleCallback(Handler.java:605)                                                                                   at androID.os.Handler.dispatchMessage(Handler.java:92)                                                                                   at androID.os.Looper.loop(Looper.java:154)                                                                                   at androID.app.ActivityThread.main(ActivityThread.java:4945)                                                                                   at java.lang.reflect.Method.invokeNative(Native Method)                                                                                   at java.lang.reflect.Method.invoke(Method.java:511)                                                                                   at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)                                                                                   at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:551)                                                                                       at dalvik.system.NativeStart.main(Native Method)03-08 19:16:32.467 1595-2005/? E/EmbeddedLogger: App crashed! Process:     com.wima.civilengineeringcalculator03-08 19:16:32.467 1595-2005/? E/EmbeddedLogger: App crashed! Package:     com.wima.civilengineeringcalculator v1 (1.0)

解决方法:

您需要使用拉丁语言环境(例如,英语-美国)将数字从字符串转换为双精度数:

尝试以这种方式解析:

[+++]
总结

以上是内存溢出为你收集整理的java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃全部内容,希望文章能够帮你解决java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

)
File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃_app_内存溢出

java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃

java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃,第1张

概述以下是我的一项活动的Java代码,当手机的语言为英语时,它可以正常工作,但是当手机的语言设置为波斯语或阿拉伯语时,它会崩溃.logcat表示Double.parseDouble出了点问题.看来,当用户输入数字时,会将其更改为波斯数字或阿拉伯数字,这就是崩溃的原因.任何想法如何解决?Java代码:import

以下是我的一项活动的Java代码,当手机的语言为英语时,它可以正常工作,但是当手机的语言设置为波斯语或阿拉伯语时,它会崩溃. logcat表示Double.parseDouble出了点问题.看来,当用户输入数字时,会将其更改为波斯数字或阿拉伯数字,这就是崩溃的原因.任何想法如何解决?

Java代码:

import androID.content.Intent;import androID.os.Bundle;import androID.support.design.Widget.Snackbar;import androID.support.v7.app.AppCompatActivity;import androID.support.v7.Widget.Toolbar;import androID.vIEw.VIEw;import androID.Widget.button;import androID.Widget.EditText;import androID.Widget.TextVIEw;import java.math.BigDecimal;import java.text.DecimalFormat;public class stressesoninclinedsections extends AppCompatActivity {private EditText input1;private EditText input2;private EditText input3;private TextVIEw sh_resultt;@OverrIDeprotected voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentVIEw(R.layout.activity_stressesoninclinedsections);    Toolbar toolbar = (Toolbar) findVIEwByID(R.ID.toolbar);    setSupportActionbar(toolbar);    input1 = (EditText) findVIEwByID(R.ID.editText);    input2 = (EditText) findVIEwByID(R.ID.editText2);    input3 = (EditText) findVIEwByID(R.ID.editText3);    button bt_calculate1 = (button) findVIEwByID(R.ID.button4);    sh_resultt = (TextVIEw) findVIEwByID(R.ID.textVIEw8);    bt_calculate1.setonClickListener(new VIEw.OnClickListener() {        @OverrIDe        public voID onClick(VIEw vIEw) {            makeCalculationss();        }    });}private voID makeCalculationss() {    if ( input1.getText().toString().trim().equals("") || input1.getText().toString().trim().equals("-") || input1.getText().toString().trim().equals(".") || input1.getText().toString().trim().equals("-.")            || input2.getText().toString().trim().equals("") || input2.getText().toString().trim().equals(".")            ||  input3.getText().toString().trim().equals("") || input3.getText().toString().trim().equals("-") || input3.getText().toString().trim().equals(".") || input3.getText().toString().trim().equals("-.")) {        sh_resultt.setText("");        Snackbar.make(findVIEwByID(androID.R.ID.content), "لطفا مقادیر تمامی متغیرها را وارد کنید ", Snackbar.LENGTH_LONG)                .show();    }    else {        Double n1 = Double.valueOf(input1.getText().toString());        Double n2 = Double.valueOf(input2.getText().toString());        Double n3 = Double.valueOf(input3.getText().toString());        Double n3pi2 = n3+90;        Double n3pi2rad = (n3pi2*Math.PI)/180;        Double n3radians = (n3*Math.PI)/180;        Double result1 = ((n1 / n2) *Math.cos(n3radians)*Math.cos(n3radians))/1000;        Double result2 = ((n1 / n2) *Math.cos(n3pi2rad)*Math.cos(n3pi2rad))/1000;        Double result3 = -((n1 / n2) *Math.sin(n3radians)*Math.cos(n3radians))/1000;        result1 =Double.parseDouble(new DecimalFormat("##.######").format(result1));        result2 =Double.parseDouble(new DecimalFormat("##.######").format(result2));        result3 =Double.parseDouble(new DecimalFormat("##.######").format(result3));        sh_resultt.setText( "σx' (MPa)=\n" + result1 + "\n" + "\nσy' (MPa)=\n" + result2 + "\n" + "\nTx'y' (MPa)=\n" + result3 );    }}@OverrIDepublic voID onBackpressed() {    Intent intent = new Intent(stressesoninclinedsections.this, solIDmechanics.class);    startActivity(intent);    finish();}}

这是Logcat:

03-08 19:16:32.457 3035-3035/com.wima.civilengineeringcalculator E/AndroIDRuntime: FATAL EXCEPTION: main                                                                               java.lang.NumberFormatException: InvalID long: "٠٫٠١١٧٥٢"                                                                                   at java.lang.Long.invalIDLong(Long.java:125)                                                                                   at java.lang.Long.parse(Long.java:362)                                                                                   at java.lang.Long.parseLong(Long.java:353)                                                                                   at java.lang.Long.parseLong(Long.java:319)                                                                                   at java.math.BigDecimal.<init>(BigDecimal.java:350)                                                                                   at java.math.BigDecimal.<init>(BigDecimal.java:438)                                                                                   at com.wima.civilengineeringcalculator.stressesoninclinedsections.makeCalculationss(stressesoninclinedsections.java:65)                                                                                   at com.wima.civilengineeringcalculator.stressesoninclinedsections.accesstry {    Double d=(Double)NumberFormat.getInstance(new Locale("en","US")).parse("123");} catch (ParseException e) {    e.printstacktrace();}0(stressesoninclinedsections.java:16)                                                                                   at com.wima.civilengineeringcalculator.stressesoninclinedsections.onClick(stressesoninclinedsections.java:42)                                                                                   at androID.vIEw.VIEw.performClick(VIEw.java:3549)                                                                                   at androID.vIEw.VIEw$PerformClick.run(VIEw.java:14393)                                                                                   at androID.os.Handler.handleCallback(Handler.java:605)                                                                                   at androID.os.Handler.dispatchMessage(Handler.java:92)                                                                                   at androID.os.Looper.loop(Looper.java:154)                                                                                   at androID.app.ActivityThread.main(ActivityThread.java:4945)                                                                                   at java.lang.reflect.Method.invokeNative(Native Method)                                                                                   at java.lang.reflect.Method.invoke(Method.java:511)                                                                                   at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)                                                                                   at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:551)                                                                                       at dalvik.system.NativeStart.main(Native Method)03-08 19:16:32.467 1595-2005/? E/EmbeddedLogger: App crashed! Process:     com.wima.civilengineeringcalculator03-08 19:16:32.467 1595-2005/? E/EmbeddedLogger: App crashed! Package:     com.wima.civilengineeringcalculator v1 (1.0)

解决方法:

您需要使用拉丁语言环境(例如,英语-美国)将数字从字符串转换为双精度数:

尝试以这种方式解析:

          总结       

以上是内存溢出为你收集整理的java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃全部内容,希望文章能够帮你解决java-由于Double.parseDouble将手机的语言设置为波斯语或阿拉伯语,我的应用程序崩溃所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1120643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存