【问题标题】:Reformatting String That Is an Android Version Number重新格式化作为 Android 版本号的字符串
【发布时间】:2015-07-11 17:03:26
【问题描述】:

我正在尝试在 java 中重新格式化字符串并从 android 版本号中删除最后的小数点,因此 4.2.2 将被格式化为 4.2。

我会使用 REGEX 来获得所需的 android 版本号格式吗?

这是我查找 a​​ndroid 版本号的代码:

String osRelease = Build.VERSION.RELEASE;

http://i.imgur.com/UHRohGU.jpg [来自 Eclipse 的错误日志文件]

【问题讨论】:

    标签: java android regex


    【解决方案1】:

    只需使用一些字符串操作:

    String i = "4.2.2";
    String s = i.substring(0, Math.min(s.length(), 3));
    System.out.println(s);
    

    这将为您提供输入字符串的前 3 个字符(即“4.2”)。

    如果您有 Double 或类似的值,请使用 String.valueOf(myDouble) 转换为字符串。


    Math.min() 技巧来自here。

    【讨论】:

    • 运行此代码时,我的代码中没有任何错误,但我的应用程序不会以包含此代码的方式启动。
    • @pHorseSpec,当您尝试启动应用程序时,您在 LogCat 中看到什么了吗?尝试在不修改的情况下打印出版本。
    • 根据返回值显示某张图片。这是 if 语句的代码:if (MainActivity.osReleaseDouble>4.3){mPhotoPool.add(R.drawable.download);}else{mPh‌​otoPool.add(R.drawable.negative);} 我的错误日志文件在上述问题中。
    • @pHorseSpec,你为什么还要使用 double ?只需通过Build.SDK_INT 获取 API 级别并使用它。这是你应该做的。
    猜你喜欢
    • 2016-05-13
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多