比如现在是1点1分1秒,用小数如果表示,主要是精度问题

解决方案 »

  1.   

    用double  绝对没问题
    看你保留几位了?
      

  2.   


    //不知道是不是这个意思
    long time = System.currentTimeMillis();
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(time);
            c.set(
                Calendar.HOUR,
                0);
            c.set(
                Calendar.MINUTE,
                0);
            c.set(
                Calendar.SECOND,
                0);        long end = c.getTimeInMillis();
            long now = time - end;
            double jieguo = now / 1000.0;
            // NumberFormat num = new DecimalFormat("###.000");
            System.out.println(new BigDecimal(jieguo).toString());//秒
            System.out.println(now);//毫秒
      

  3.   

    是这个意思吗?public class Test1 {
        public static void main(String[] args) throws IOException {
            double time = getDecimalTime(1,30,30);
            System.out.printf("%.4f%n", time);
        }    public static double getDecimalTime(int hour, int minute, int second) {
            return hour + (minute / 60.0) + (second / 3600.0);
        }
    }