• Java编程常用数据转换:String与int互转、Date与String互转、BigDecimal与int比较(报错operator > cannot be applied to java.math.BigDecimal,int)


    一、String与Int互转

      在 Java 中要将 String 类型转化为 int 类型时,需要使用 Integer 类中的 parseInt() 方法或者 valueOf() 方法进行转换。

    String str = "123";
    int a = Integer.parseInt(str);  // 方式1
    int b = Integer.valueOf(str).intValue()   // 方式2

      在转换过程中需要注意:因为字符串中可能会出现非数字的情况,所以在转换的时候需要捕捉处理异常。

    1、Integer.parseInt(String)方法:parseInt()是Integer包装类里的一个方法,可以将字符串解析为带符号的整数

      注:

    (1)使用parseInt()方法时,字符串中的所有字符都必须是数字,但第一个字符可以是减号“ - ”。例:String str="-1234"; 可以转换为  -1234

    (2)当String类型中的不是所有字符都为数字时,也会抛出异常:NumberFormatException。

    2、Integer.valueOf(String)方法:valueOf()同样是Integer包装类的一个方法,可以将String类型的值转换为int类型的值。这和parseInt()方法相似,它们转换后的输出的结果是相同的。

    3、但,Integer.valueOf()和Integer.parseInt()之间还是存在差异的:

      valueOf(String)方法会返回Integer类的对象,而parseInt(String)方法返回原始的int值。

    4、int转string

    String s = String.valueOf(i);
    String s = Integer.toString(i);
    String s = i + '';

    二、Date与String互转

    1、Date转为String

    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String time = f.format(examApply.getCreateTime())

    2、String转为Date

      参数String类型的格式必须与注释中的日期格式对齐,否则会报错

    DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); //日期格式
    Date date = format.parse(time);

    3、使用数据库类将String转为Date

      转换后格式不改变,String类型为Date类型。该类的源码只支持 - 作为分隔符,所以必须使用 - 作为分隔符。 在确定以 - 为分隔符后,此方法相对会简单很多。

    Date date =java.sql.Date.valueOf("2021-06-16");

    三、BigDecimal 与 int 比较

      这里说一个报错:operator > cannot be applied to java.math.BigDecimal,int,BigDecimal无法用int之类的 >、<、=之类的比较。如果使用的话,就会报这个错误。

      BigDecimal必须使用compareTo()方法来比较,它根据两个值的大小分别返回负数、正数和0,分别表示小于、大于和等于。

      而且也需要用 new BigDecimal(0) 转换为 BigDecimal 才可以进行比较。

    if(examRoom.getPrice().compareTo(new BigDecimal(0)) == 0){
      user.setStatus(ExamApplyStatus.PAYED);
      message = "报名成功,请等待审核";
    }
  • 相关阅读:
    C++类中使用new及delete小例子(续)
    C++类中使用new及delete小例子
    C++类中static修饰的函数的使用
    C++类使用static小例子(新手学习C++)
    C++结构体中使用函数与类中使用函数小结
    记一次简单的性能优化
    [转载]Java的内存回收机制
    写给自己的项目总结
    [转载]正则表达式30分钟入门教程
    使用JRockit进行性能优化一:环境搭建
  • 原文地址:https://www.cnblogs.com/goloving/p/14901543.html
Copyright © 2020-2023  润新知