【发布时间】:2014-07-30 02:00:36
【问题描述】:
之前,我从数据库连接 SQL 语句中得到了类似于以下内容的结果:
[{"BALANCE":111.11},{"BALANCE":222.12},{"BALANCE":444.30}]
并且我使用了表达式节点的以下内容来计算总和:
sum = 0;
foreach (row : message.payload) {
sum += row['BALANCE'];
}
message.payload = sum;
这不太成功,但请注意下面返回的数字变量周围没有引号
777.5299999999999994315658113919199
从上一个线程的一个很好的答案,我切换到以下表达式节点内容:
sum = 0;
foreach (row : message.payload) {
sum += row['BALANCE'];
}
message.payload = new java.text.DecimalFormat("#.##").format(sum);
这导致了下面的准确结果:
"777.53"
我唯一的问题是它在数字周围有引号。如何消除引号?
谢谢
【问题讨论】:
-
你想要一个字符串还是一个数字?如果是数字,第一个解决方案是正确的。如果是字符串,则第二个是。
标签: json expression mule esb