为了账号安全,请及时绑定邮箱和手机立即绑定

Java中版本的比较

Java中版本的比较

江户川乱折腾 2022-08-17 16:04:04
我有一个比较Eclipse版本的函数。我们对当前的 Eclipse IDE 进行子字符串处理(例如,如果当前版本是 4.7.10,则该函数将返回 4.7)我的问题是现在的当前版本是4.10。Java在比较BigDecimal时所做的是删除尾随零。如何使 4.10 大于 4.5?谢谢!
查看完整描述

1 回答

?
动漫人物

TA贡献1815条经验 获得超10个赞

这里有一些东西可以让你去 - 非常简单:


public class Main {

    public static void main(String[] args)

    {


        String version1 = "4.10";

        String version2 = "4.5";


        compareVersions(version1, version2);

    }


    private static void compareVersions(String v1, String v2) {

        String[] versionSplit1 = v1.split("\\.");

        String[] versionSplit2 = v2.split("\\.");

        if (versionSplit1[0].equals(versionSplit2[0])) {

            if (Integer.parseInt(versionSplit1[1]) > (Integer.parseInt(versionSplit2[1]))) {

                System.out.println(v1 + " is bigger than " + v2);

            } else if (Integer.parseInt(versionSplit1[1]) == (Integer.parseInt(versionSplit2[1]))){

                System.out.println(v1 + " is equal to " + v2);

            } else {

                System.out.println(v2 +  " is bigger than " + v1);

            }

        } else if (Integer.parseInt(versionSplit1[0]) > Integer.parseInt(versionSplit2[0])) {

            System.out.println(v1 + " is bigger than " + v2);

        } else {

            System.out.println(v2 + " is bigger than " + v1);

        }

    }

}

如果我正确理解您的问题,这是一个非常快速的粗略解决方案 - 我想您需要扩展它以满足您的需求,但这个想法仍然存在。

  1. 如果版本仍不是,请将版本转换为字符串。

  2. 按点拆分,您最终会得到两个部分 - 例如第一部分(4)和第二部分(10)。

  3. 比较第一部分(因为它是字符串,因此需要将其解析为整数)。如果第一部分相同,请比较第二部分(您还需要解析它)。

如果您使用的是 BigDecimal,并且想要转换为 String 并保留尾随零,请尝试以下操作:

double value = 4.10;

//convert double to BigDecimal

BigDecimal bigDecimalValue = BigDecimal.valueOf(value);

BigDecimal tempValue = bigDecimalValue.setScale(2, RoundingMode.CEILING);

//convert to String

System.out.println(tempValue.toPlainString()); //5.40

然后按照上面的字符串所述继续操作。


查看完整回答
反对 回复 2022-08-17
  • 1 回答
  • 0 关注
  • 88 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号