Кажется, это работало довольно хорошо.Сохраните все необходимые значения в массиве:
String [] tagArray = new String [] { ":ACRU//",":ANTO//",":CHAR//",":COUN//",":EXEC//",":ISDI//",":LADT//",":LEVY//",":LOCL//",":LOCO//",":MARG//",":OTHR//",":POST//",":REGF//",":SHIP//",":SPCN//",":STAM//",":STEX//",":TRAN//",":TRAX//",":VATA//",":WITH//",":COAX//",":ACCA//" };
И создайте функцию для зацикливания и добавления:
double sumTags(SwiftMessage inboundSwiftmessage, String inboundTagNumber, String [] inboundTagArray){
double getTotal;
for( tagArrayData : inboundTagArray ){
String getData = stripData(inboundSwiftmessage.getTagData(inboundTagNumber,tagArrayData));
getTotal = getTotal + Double.parseDouble(getData);
}
return getTotal;
}
И это функция для удаления первых 3 символов и преобразования, затем удалите запятую в точку:
String stripData(String inboundString){
if (inboundString==null){
return "0";
}
else
{
char strippedString;
StringBuffer strippedBuffer = new StringBuffer("");
char [] inboundArray = inboundString.toCharArray();
for (int counter = 3 ; counter < inboundArray.length; counter++)
{
strippedString = inboundArray[counter];
strippedBuffer.append(strippedString);
}
return strippedBuffer.toString().replace(",",".");
}
}