【问题标题】:check if string contains number larger than a number检查字符串是否包含大于数字的数字
【发布时间】:2018-09-28 17:00:08
【问题描述】:

我的应用程序中有一个字符串,通过短信接收总是在变化,有时是一个有 2 个小数位的数字,有时是一个没有小数位的数字,如下所示:

String sms = "12.02";
String sms = "105";

我如何比较字符串中的数字,例如如果大于 5 在应用程序中做某事??

小数位不重要

对不起我的语言不好

【问题讨论】:

  • 你的意思是大于5?或字符串长度大于 5 且不带小数?
  • 是大于 5,不带小数

标签: java string type-conversion


【解决方案1】:

使用Float.valueOf。像这样的:

if (Float.valueOf(sms)>5){
//do something
}

【讨论】:

    【解决方案2】:

    如果小数位不重要,你可以这样做:

    String sms = "12.02";
    double d = Double.parseDouble(sms); // 12.02 [approximately]
    int i = (int) d; // 12
    
    if (i > 5) {
        // do whatever
    }
    

    【讨论】:

    • 谢谢,但是如果数字没有小数位应用程序会崩溃
    • 数字是否有小数位不影响答案。但是,我确实注意到我写了Double d,而我应该写double d,所以也许这就是问题所在。
    【解决方案3】:
    try {
            if (Double.parseDouble(sms) > 5) {
                    // do something
            }
        }
         catch (NumberFormatException e)
            {
                Log.e("Invalid Number",e.toString());
            }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-20
      • 2016-11-11
      • 1970-01-01
      • 2022-06-30
      • 2015-02-07
      • 2010-12-19
      相关资源
      最近更新 更多