今天学习Java流计算时发现1.1*1.1不等于1.21,疑似出现误差,原因尚待明确,在此标记一下。
源码:
package c08_03;
import java.util.stream.Stream;
public class StreamOther {
public static void main(String[] args) {
Stream<Double> s1 = Stream.iterate(1.1, n -> n*n)
.peek(n -> System.out.println("number:" + n)).limit(5);
s1.forEach(System.out::println);
}
}
执行结果:
number:1.1
1.1
number:1.2100000000000002
1.2100000000000002
number:1.4641000000000004
1.4641000000000004
number:2.143588810000001
2.143588810000001
number:4.594972986357221
4.594972986357221