compareTo()函数的用处

compareTo()的用法

a.compareTo (b)

从函数本身出发:

  • 结果大于0(>0)----------a>b
  • 结果小于0(<0)----------a<b
  • 结果等于0(=0)----------a=b

从数据类型出发

  • String比较:普通类和数字类(数字类也按照普通类比较)
		//普通字符先比较ASCII码,在比较
		String s1 = "abc";
        String s2 = "abd";
        String s3 = "abcdfg";
        String s4 = "abcd";
        String s5="0";
        String s6="0.1";
        // -1 (c的ASCII码为99,d的ASCII为100;99-100=-1)
        System.out.println( s1.compareTo(s2) );
        // -3 (前面相等,s1长度小3) 
        System.out.println( s1.compareTo(s3) );
         // -1 (前面相等,s1长度小1)
        System.out.println( s1.compareTo(s4) );
        // -2 (前面相等,s5长度小2)
        System.out.println( s5.compareTo(s6) ); 
	/*两个数字字符串来可以做两个数的比较吗?
	 *如上 s5与s6的比较看起来没毛病
	 *下面的例子则不是0和0.00在做数字比较应该为相等
	 *所以说两个数字字符串来可以做两个数的比较
	 */
	 String s5="0";
     String s6="0.00"; 
     	// -3 (前面相等,s5长度小3)
     System.out.println( s5.compareTo(s6));
      
  • BigDecimal比较

    直接比较两个BigDecimal,会报语法错误!
    在这里插入图片描述

   BigDecimal a = new BigDecimal(0.1);
   BigDecimal b = new BigDecimal(0.2);	
   int c = a.compareTo(b);  // -1
	/*
	c=1表示b1大于b2
	c=0表示b1等于b2
	c=-1表示b1小于b2
	*/

BigDecimal可以做到让两个数字字符进行比较

         //结果为false
        BigDecimal max =new BigDecimal("0.1");
        BigDecimal min =new BigDecimal("0.001");
        System.out.println(min.compareTo(max)>0);
       //结果为true
       	BigDecimal a =new BigDecimal("0");
        BigDecimal b =new BigDecimal("0.0");
        System.out.println(a.compareTo(b)==0);
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值