后端问题

2019-05-22  本文已影响0人  我不傻_cyy

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.
上一篇下一篇

猜你喜欢

热点阅读