【问题标题】:How can you compare strings in android with greater than如何比较 android 中的字符串与大于
【发布时间】:2010-11-03 22:18:11
【问题描述】:

我想知道是否有一种方法可以将 android 中的字符串与大于或 > 进行比较。

假设我有这个:

String numbers = number.getText().toString();
if (numbers.equals("9")){
output.setText("50");}

因此,如果您在数字 EditText 字段中输入 9,则输出 TextView 将显示 50。
我有很多不同的数字,然后 = 一个不同的数字,但如果我想要 10、11、12、13 等 = 100,我该怎么办?

有没有办法通过使用类似的东西来做到这一点?

if (numbers.equals("9"++))

或者在android中是否有某种通配符

if (numbers.equals("1"+"*"))

我知道如果我将 * 替换为零,它将是 10,所以如果可能的话,我可以为 1 制作一个,为 2 制作一个,为 3 制作一个,等等,这仍然可以为我节省很多代码。
如果这不可能,请告诉我您是否有任何想法。

谢谢大家!

【问题讨论】:

    标签: java android compare


    【解决方案1】:

    您需要先将字符串转换为数字。像这样的:

    int number = Integer.parseInt(number.getText().toString());
    if (number > 9)
    {
        output.setText("50");
    }
    

    如果字符串不能保证是一个有效的整数,你也必须处理NumberFormatException

    【讨论】:

    • 非常感谢!我想知道如何做到这一点,我尝试了一些不同的事情但没有成功。这使得它的其余部分变得如此简单。有一次我有一个计算按钮,可以将两个输出相加,但我正在使用这个混乱来完成它:int result = (int) (new Double(output1.getText().toString()) + new Double(output2.getText ().toString())); answer.setText(""+结果);但是在我更改此设置后,只要我的 xml 文件中有 android:numeric="decimal" 以获取应该可以正常工作的编辑文本,对吗?
    • @Daniel 如果你想要小数而不是整数,你应该使用 Double.parseDouble 或 Float.parseFloat 来代替。
    • 感谢您的帮助,这为我节省了很多时间。
    • 现在我可以正确显示结果,但是当我删除输入的两个数字时,它会强制关闭。如果它只是一个,它就可以工作。有什么想法吗?
    • @Daniel 使用“adb logcat”查看引发了哪些异常以导致强制关闭。尝试解析空字符串可能是 NumberFormatException。你必须用 try/catch 包围调用。
    【解决方案2】:

    你有什么不能使用的原因

    Integer.valueOf("9");
    

    【讨论】:

    • 我不太确定该怎么做。
    猜你喜欢
    • 2021-02-11
    • 2023-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多