2014-10-02 2 views
0

я следующий метод CellProcessorУдалить десятичные значения в supercsv

private static CellProcessor[] getProcessors() { 

    final CellProcessor[] processors = new CellProcessor[] { 
      new NotNull(), // senderId 
      new NotNull(), // orderId 
      new NotNull(), // execQuantity 
      new NotNull(), // execPrice <~~~~~~~~~~~~ 
      new NotNull(new FmtDate("yyyy-MM-dd")), // deliveryDate 
    }; 

    return processors; 
} 

Как execPrice является двойной, выход CSV файл содержит десятичные значения. Он должен быть двойным типом в bean-компоненте. Мне нужно изменить его при написании файла csv.

Как удалить десятичные значения (или преобразовать в целое число) в supercsv? Я думаю, что мне нужно использовать FmtNumber в CellProcessor, но я не знаю, как это сделать.

ответ

1
private static CellProcessor[] getProcessors() { 

    DecimalFormat df = new DecimalFormat(); 
    df.applyPattern("#"); 

    final CellProcessor[] processors = new CellProcessor[] { 
      new NotNull(), // senderId 
      new NotNull(), // orderId 
      new NotNull(), // execQuantity 
      new NotNull(new ParseDouble(new FmtNumber(df))), // execPrice <~~~~~~ 
      new NotNull(new FmtDate("yyyy-MM-dd")), // deliveryDate 
    }; 

    return processors; 
} 

Выше код работал в случае, если кто-то с такой же ситуацией, как я, может знать.

Смежные вопросы