我的Android高级之旅

电脑杂谈  发布时间:2020-07-18 10:02:17  来源:网络整理

java格式化小数_wpf 小数格式化_java format 两位小数

欧阳鹏2015年12月7日的浏览量

简介: 今天我收到了一位波兰客户,他说一个APP以英语正常运行,但是当系统语言切换为波兰语时,程序崩溃了. 好吧,我会再维护一次. 好吧,首先将系统语言切换为波兰语,以及如何切换为波兰语. 查看文章我的Android高级之旅------> Android [...

今天,我收到了一位波兰客户java格式化小数,他说一个APP以英语正常运行,但是当系统语言切换为波兰语时,该程序崩溃了. 好的java格式化小数,我会再维护一次.

好的,首先将系统语言切换为波兰语,以及如何切换为波兰语以查看文章

wpf 小数格式化_java格式化小数_java format 两位小数

地址:

================================================ ==================================

错误报告如下:

D/AndroidRuntime( 9067): Shutting down VM
E/AndroidRuntime( 9067): FATAL EXCEPTION: main
E/AndroidRuntime( 9067): Process: com.runbo.outdoormeter, PID: 9067
E/AndroidRuntime( 9067): java.lang.NumberFormatException: Invalid float: "1019,35"
E/AndroidRuntime( 9067):        at java.lang.StringToReal.invalidReal(StringToReal.java:63)
E/AndroidRuntime( 9067):        at java.lang.StringToReal.initialParse(StringToReal.java:164)
E/AndroidRuntime( 9067):        at java.lang.StringToReal.parseFloat(StringToReal.java:323)
E/AndroidRuntime( 9067):        at java.lang.Float.parseFloat(Float.java:306)
E/AndroidRuntime( 9067):        at java.lang.Float.valueOf(Float.java:343)
E/AndroidRuntime( 9067):        at com.runbo.outdoormeter.service.DataService.onSensorChanged(DataService.java:66)
E/AndroidRuntime( 9067):        at android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:405)
E/AndroidRuntime( 9067):        at android.os.MessageQueue.nativePollOnce(Native Method)
E/AndroidRuntime( 9067):        at android.os.MessageQueue.next(MessageQueue.java:148)
E/AndroidRuntime( 9067):        at android.os.Looper.loop(Looper.java:151)
E/AndroidRuntime( 9067):        at android.app.ActivityThread.main(ActivityThread.java:5637)
E/AndroidRuntime( 9067):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime( 9067):        at java.lang.reflect.Method.invoke(Method.java:372)
E/AndroidRuntime( 9067):        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959)
E/AndroidRuntime( 9067):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754)

wpf 小数格式化_java格式化小数_java format 两位小数

好吧,数字格式异常,java.lang.NumberFormatException: 无效的浮点数: “ 1019,35”,浮点类型1019.35如何变成1019,35小数点(“. ”)成为逗号(“, ”). 检查源代码,代码如下:

LocationApplication.dangxia_qiya=event.values[0];
Log.i("sensor","senser is running  1.....");
float a1=LocationApplication.dangxia_qiya;
String aa1=String.format("%.2f",a1);
Log.i("sensor","a1="+a1);
Log.i("sensor","aa1="+aa1);
LocationApplication.dangxia_qiya=Float.valueOf(aa1);

运行时,打印日志:

C:\Documents and Settings\Administrator>adb logcat -s sensor
--------- beginning of system
--------- beginning of main
I/sensor  ( 8175): senser is running  1.....
I/sensor  ( 8175): a1=1019.00757
I/sensor  ( 8175): aa1=1019,01

java格式化小数_java format 两位小数_wpf 小数格式化

这表明获得的a1参数是正常的,但是在通过String.format方法转换后它变为1019,01. 作弊!将系统语言切换为英语,然后打印日志,如下所示:

C:\Documents and Settings\Administrator>adb logcat -s sensor
--------- beginning of system
--------- beginning of main
I/sensor  ( 8648): senser is running  1.....
I/sensor  ( 8648): a1=1019.01685
I/sensor  ( 8648): aa1=1019.02

好吧,a1参数正常,而aa1也正常1019.02.

================================================ ==================================

java format 两位小数_java格式化小数_wpf 小数格式化

好吧,阅读代码后,我觉得使用String.format格式化浮点数确实不强大. 保留两位小数的问题应通过其他方法解决. 将代码更改为以下代码后,一切正常.

LocationApplication.dangxia_qiya=event.values[0];
Log.i("sensor","senser is running  1.....");
float a1=LocationApplication.dangxia_qiya;
//String aa1=String.format("%.2f",a1);
//Log.i("sensor","a1="+a1);
//Log.i("sensor","aa1="+aa1);
//LocationApplication.dangxia_qiya=	Float.valueOf(aa1);
float  aa1   =  (float)(Math.round(a1*100))/100;
Log.i("sensor","a1="+a1);
Log.i("sensor","aa1="+aa1);
LocationApplication.dangxia_qiya=aa1;

================================================ ==================================

我不知道String.format()在Java设计中是否存在缺陷?

================================================ ==================================


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-284576-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      • 天空骑士刚科尔
        天空骑士刚科尔

      • 陈博
        陈博

        美国主子这不是变相承认中国人造岛礁是领土吗

      • 闫亚乐
        闫亚乐

        按国际法

      热点图片
      拼命载入中...