Удалить десятичные значения в supercsv

У меня есть следующий метод CellProcessor

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 имеет значение Double, выходной CSV-файл содержит десятичные значения. Он должен быть двойного типа в бобах. Мне нужно изменить его при записи файла csv.

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


person Min Naing Oo    schedule 02.10.2014    source источник


Ответы (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;
}

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

person Min Naing Oo    schedule 02.10.2014