String转Float问题
来源:互联网 发布:小怪兽跳蛋 知乎 编辑:程序博客网 时间:2024/05/01 00:06
今天项目中发现一个由String转Float的bug,具体原因就是在EditText中输入多个”.”或者这开头输入”.” 的话,在进行Float.parseFloat(String str)的时候会抛异常,程序crash掉!
现在自己的解决方案是手动对字符串判断!具体代码如下:
EditText et = (EditText) rootView.findViewById(R.id.et); et.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { String str = s.toString(); if (TextUtils.isEmpty(str)) { return; } int firstIdex = str.indexOf("."); int lastIndex = str.lastIndexOf("."); if (firstIdex == lastIndex && firstIdex != 0) {//已经存在一个小数点且小数点不在第一个位置 Float valueOf = Float.valueOf(str); float float1 = Float.parseFloat(str); Log.e("zhilong", valueOf + "--" + float1); } else { if (str.length() == 1) { et.setText(""); } else { et.setText(str.substring(0, str.length() - 1)); et.setSelection(str.length()-1); } } } @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void afterTextChanged(Editable s) { } });
0 0
- String转Float问题
- string转float
- 关于byte 进制 float String 编码 16进制字符串转16进制byte的问题
- float 转 string 保留两位小数
- c++ int,float等转string
- string 字符串转float 基本算法
- float,String转BigDecimal中的异常注意事项
- Java String转int、float、double
- C# string类型转换为float精度问题
- builtins.ValueError: could not convert string to float:的问题
- float转int 四舍五入问题
- float转int 四舍五入问题
- float转int 四舍五入问题
- String类型转float,flost转String类型
- float问题
- float问题
- string to float
- float to string
- Latex 语法 备忘录
- java Properties 的学习
- Mybatis使用记录
- 图片分类器
- 集合框架--HashSet集合
- String转Float问题
- google glog
- Javascript 深度克隆
- 工厂模式
- java基础知识学习笔记(一)
- 1000行代码写小游戏(五)
- PyQt5(2)——窗口属性修改和控件
- VS 的Command Window命令
- 深入浅出nodejs学习笔记——异步编程