由于浮点数学的性质,.4 * .4= 0.16000000000000003朱莉娅.我希望以0.16CPU高效的方式获得数学上正确的答案.我知道round()有效,但这需要事先了解答案占用的小数位数,因此这不是一般解决方案.
我正在练习Java 8.我不明白为什么这个方法总是返回0,或者更好的身份值:
public static Integer getMinAge(List<Person> peopleList) {
return peopleList.stream().mapToInt(Person::getAge).reduce(0, Integer::min);
}
Run Code Online (Sandbox Code Playgroud)
令人惊讶的是,Integer :: max方法返回正确的值.我在这做错了什么?
例如,我们maximum [1,2,3]返回列表中的最大元素.
但如果我们在本地重新定义它,
let maximum xs = head xs
Run Code Online (Sandbox Code Playgroud)
(我知道这很奇怪,但没关系)
我们怎么称呼最初的最大功能?