String s = "128166947252913248";
DecimalFormat df = new DecimalFormat("##########################.########");
Double oldTime1 = new Double(s);
Double oldTime2 = new Double("128166947252913249");
Double oldTime3 = new Double("128166947252913247");
Double newTime = new Double("116444736000000000");
System.out.println(newTime.longValue());
System.out.println(df.format(oldTime1));
System.out.println(oldTime1-newTime);
System.out.println(df.format(oldTime1-newTime));
System.out.println(df.format(oldTime3-newTime));
出力は次のとおりです。
116444736000000000
128166947252913248
1.1722211252913248E16
11722211252913248
11722211252913248
これは私が取り組んでいるコードです。double 変数が最後の変数で切り捨てられるのを止めることができません。切り捨てられずに値を取得するのを手伝ってください。