
io.lsn.spring.bluemedia.payment.domain.serializer.CustomBigDecimalSerializer Maven / Gradle / Ivy
The newest version!
package io.lsn.spring.bluemedia.payment.domain.serializer;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
import java.io.IOException;
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;
/**
* Created by tomek on 24.01.2017.
*/
public class CustomBigDecimalSerializer extends JsonSerializer {
@Override
public void serialize(BigDecimal value, JsonGenerator jgen, SerializerProvider provider) throws IOException {
if (null == value) {
//write the word 'null' if there's no value available
jgen.writeNull();
} else {
DecimalFormatSymbols bmSymbols = new DecimalFormatSymbols();
bmSymbols.setDecimalSeparator('.');
bmSymbols.setGroupingSeparator(' ');
DecimalFormat df = new DecimalFormat("#,##0.00", bmSymbols);
df.setMaximumFractionDigits(2);
df.setMinimumFractionDigits(2);
df.setGroupingUsed(false);
final String output = df.format(value);
jgen.writeNumber(output);
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy