【问题标题】:attempting to parse an EDI file and sum invoice totals尝试解析 EDI 文件并汇总发票总额
【发布时间】: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 转换为另一种格式)?

标签: java parsing edi


【解决方案1】:

我会看这个几个小时然后在最终放弃并发布它的一两分钟内回答我自己的问题是有道理的

try (BufferedReader br = new BufferedReader(new FileReader("\\Edi810o311214.dat")))
{
    int counter = 0;
    double total = 0;
    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"))

    {   
        counter++;
        //extracts total invoice field from line
        String totalValue = line.substring(12,26);
        double totalValueNum = Double.parseDouble(totalValue);
        total += totalValueNum;
        //shows output for testing purposes (will remove)
        System.out.println(totalValueNum);    






    }

    }
    System.out.println(counter);
    System.out.println(total);

    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 2015-09-02
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 2011-09-30
    • 2019-07-22
    • 2015-10-09
    相关资源
    最近更新 更多