android - 我如何格式化解析并传递给 editText 的数字?

标签 android parsing exception formatting android-edittext

我在 editText 中格式化数字时遇到问题。我希望用户能够输入正整数或负整数(5 或 -5)的数字,并将其格式化为小数 (.05)。目前,它的格式为 .05.0 而不是 .05,我不明白为什么。此外,如果用户输入了错误的文本或将字段留空,我想将 editText 设置为“0”。但是,我得到了一个错误。非常感谢任何帮助。

public void checkPremium(){
     double number = Double.parseDouble(premium.getText().toString());
     if(premium.getText().toString().equals(".")||premium.getText().toString().equals("-.")||premium.getText().toString().equals("")){
         premium.setText("0");
     }else if(number >= 1 || number < 10){
         premium.setText(".0"+number);
     }else if(number >= 10){
         premium.setText("."+number);
     }else if(number <= -1 || number > -10){
         premium.setText(".0"+Math.abs(number));
     }else if(number <= -10){
         premium.setText("."+Math.abs(number));
     }else if(number <1 || number >0){
           //Do Nothing
         }       
 }

最佳答案

Double 解析器将“.0”添加到您的号码中。你最好添加你的 String 而不是你解析的 double。

关于android - 我如何格式化解析并传递给 editText 的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11625155/

相关文章:

actionscript-3 - 如何解析 .as (AS3) 文件

java - Log4j 不捕获异常

python - 当缺少所需的环境变量时应该引发哪个异常?

jsf - Java EE前端方法中处理服务层异常

android - 9 补丁可绘制行为糟糕,奇怪的 Artifact - 这里出了什么问题?

android - 我在将更新上传到我的应用时遇到问题

java - 使用上下文和执行器服务(Android Wi-Fi)

json - 如何使用 Swift Decodable 协议(protocol)解析 JSON API 结构中的几个硬编码键?

python - 如何在不使用循环的情况下将 IPv4 地址从字节转换为字符串?

android - 如何在 android 中调整 ListView 的大小?