【发布时间】:2015-03-30 17:39:15
【问题描述】:
我设法提取了我正在寻找的数字,但是(可能是因为我从大学起就没有使用过 Java)我无法将这些数字相加以获得“总数”并计算 EDI 文件。输出显示我将每张发票总额作为双精度收集,但是当我尝试添加它们时,它会在每次 while 循环运行时重置数字,如果我将它放在循环之外,它就无法识别我的变量。
这是我的代码
try (BufferedReader br = new BufferedReader(new FileReader("\\Edi810o311214.dat")))
{
String line;
while ((line = br.readLine())!= null)
{
//eliminates lines that do not begin with "total"
String lineEval = line.substring(0,5);
if (lineEval.equals("Total"))
{
//extracts total invoice field from line
String totalValue = line.substring(12,26);
double totalValueNum = Double.parseDouble(totalValue);
//shows output for testing purposes (will remove)
System.out.println(totalValueNum);
double total = 0;
int counter = 0;
total += totalValueNum;
counter++;
}
【问题讨论】:
-
“不包含总数的行”是什么意思?如果您正在解析 EDI 并且想要累积所有交换的总数(假设文件中有多个 810),您会想要获取 TDS 段中的值。这是否已经是翻译文件(意味着 X12 转换为另一种格式)?