无法在Groovy中添加Long值。当我们求和时,它不是在小数后增值。
Long val1 = makeNullZero(getCustomFieldValue('Benefit 1 Annual $'));
Long val2 = makeNullZero(getCustomFieldValue('Benefit 2 Annual $'));
Long val3 = makeNullZero(getCustomFieldValue('Benefit 3 Annual $'));
Long val4 = makeNullZero(getCustomFieldValue('Benefit 4 Annual $'));
Long val5 = makeNullZero(getCustomFieldValue('Estimated Development Cost $'));
BigDecimal sum = (val1 + val2 + val3 + val4) / val5
return sum.round(2);
当我们sum =(2。五加二点五加二。5 + 2.5),得8。应该是10
sum = (2.5 + 2.5 + 2.5 + 2.5) / 3
得到2.67,应该是3。33
我们求和时,不是小数点后的加法。得到8,应该是10
1条答案
按热度按时间5vf7fwbs1#
数据类型
Long
将2.5
截断为2
,结果为2 + 2 + 2 + 2 = 8
。尝试将值存储在
BigDecimal
中:我还建议使用
add
和divide
,因为这样你可以更好地控制精度和舍入: