美文网首页
后端问题

后端问题

作者: 我不傻_cyy | 来源:发表于2019-05-22 17:13 被阅读0次

    1.maven中的setting文件需要配置库地址
    2.idea中需要配置maven
    3.idea打开报svn command line client错,需要在idea的settings中svn配置安装的svn中svn.exe的地址。

    日期问题

    一. 不小心将DateFormat date = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”)写成了
    DateFormat date = new SimpleDateFormat(“yyyy-MM-DD HH:mm:ss”)所以输出的日期显示的日是一年中的第多少天。

    DateFormat date = new SimpleDateFormat(pattern)
    pattern定义日期的显示格式
    y  年
    M 年中的月份
    w  年中的周数
    W 月份中的周数
    D 年中的天数
    d 月份中的天数
    F 月份中的星期
    E 星期中的天数
    H 一天中的小时数(0-23)
    k  一天中的小时数(1-24)
    m 小时中的分钟数
    s 分钟中的秒数
    S 毫秒数
    

    二.
    1.使用该类下的getInstance()获取Calendar对象
    2.操作方法:
    getTime():Date返回当前时间
    getTimeInMillis():long返回当前时间的毫秒数
    int get(int field):int返回给定字段的值
    例如get(Week_Of_Month):返回日历式的当前时间是本月的第几周
    get(Day_of_week_int _month):返回当前时间在本月1号算起的第几周
    用到时再查.

    浮点型数据计算丢失精度问题

    例如:

     @Test
        public void test1(){
            System.out.println(0.05 + 0.01);
            BigDecimal b1 = new BigDecimal(0.05);
            BigDecimal b2 = new BigDecimal(0.01);
            System.out.println(b1.add(b2));
            BigDecimal b3 = new BigDecimal("0.05");
            BigDecimal b4 = new BigDecimal("0.01");
            System.out.println(b3.add(b4));
        }
    输出为:
    0.060000000000000005
    0.06000000000000000298372437868010820238851010799407958984375
    0.06
    

    BigDecimal类介绍:
    在商业运算中,进行float或double类型的计算时,需要使用BigDecimal的String类型的构造器,因为double类型的构造器上有说明:

     The results of this constructor can be somewhat unpredictable.
         * One might assume that writing {@code new BigDecimal(0.1)} in
         * Java creates a {@code BigDecimal} which is exactly equal to
         * 0.1 (an unscaled value of 1, with a scale of 1), but it is
         * actually equal to
         * 0.1000000000000000055511151231257827021181583404541015625.
         * This is because 0.1 cannot be represented exactly as a
         * {@code double} (or, for that matter, as a binary fraction of
         * any finite length).  Thus, the value that is being passed
         * <i>in</i> to the constructor is not exactly equal to 0.1,
         * appearances notwithstanding.
    The {@code String} constructor, on the other hand, is
         * perfectly predictable: writing {@code new BigDecimal("0.1")}
         * creates a {@code BigDecimal} which is <i>exactly</i> equal to
         * 0.1, as one would expect.  Therefore, it is generally
         * recommended that the {@linkplain #BigDecimal(String)
         * <tt>String</tt> constructor} be used in preference to this one.
    

    相关文章

      网友评论

          本文标题:后端问题

          本文链接:https://www.haomeiwen.com/subject/smwuzqtx.html