jackson統(tǒng)一處理json對(duì)數(shù)字類(lèi)型四舍五入精確到兩位小數(shù)

一、工具類(lèi)

package com.mdw.platform.orders.config;

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.math.RoundingMode;
import java.text.DecimalFormat;


/**
 * 格式化
 *
 * double 精確到小數(shù)點(diǎn)后兩位
 * Date:     2019/10/15 11:58
 * title:title
 * @author ht
 */
public class CustomerDoubleSerialize extends JsonSerializer<Double> {

    /**
     * 原本這里是  ##.00 ,帶來(lái)的問(wèn)題是如果數(shù)據(jù)庫(kù)數(shù)據(jù)為0.00返回“ .00 “經(jīng)評(píng)論指正,改為0.00
     */
    private DecimalFormat df = new DecimalFormat("0.00");

    @Override
    public void serialize(Double arg0, JsonGenerator arg1, SerializerProvider arg2) throws IOException {
        if(arg0 != null) {
            BigDecimal bigDecimal = new BigDecimal(String.valueOf(arg0));
            df.setRoundingMode(RoundingMode.HALF_UP);
            //四舍五入。需要將數(shù)據(jù)轉(zhuǎn)成bigDecimal, 否則會(huì)存在經(jīng)度丟失問(wèn)題
            String format = df.format(bigDecimal);
            double aDouble = Double.parseDouble(format);
            arg1.writeNumber(aDouble);//返回?cái)?shù)字格式
        }
    }
}

二、 實(shí)現(xiàn)

對(duì)實(shí)體類(lèi)加上@JsonSerialize(using = CustomerDoubleSerialize.class)

   import com.fasterxml.jackson.databind.annotation.JsonSerialize;
  
    /**
     * 提貨費(fèi)用
     */
    @JsonSerialize(using = CustomerDoubleSerialize.class)
    private Double pickUpCost;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一石激起千層浪,可這一顆石子落下,卻如同一個(gè)漩渦,經(jīng)久不散,無(wú)人能近,在我經(jīng)歷的六七年里,研發(fā)中心換過(guò)四、五位主導(dǎo)...
    寫(xiě)字的虎閱讀 959評(píng)論 36 12
  • 今天助教表現(xiàn)真的太好,我在看最強(qiáng)大腦,她在我旁邊小聲念書(shū),念最近很喜歡的《魔法拐杖》,自己一氣兒念了三遍。 1、看...
    宛宛媽咪閱讀 127評(píng)論 0 0
  • 網(wǎng)絡(luò)安全 密鑰 TLS/SSL是一個(gè)公鑰與私鑰的結(jié)構(gòu),它是一個(gè)非對(duì)稱(chēng)的結(jié)構(gòu)。每一個(gè)服務(wù)器和客戶(hù)端都有自己的公私密鑰...
    人失格閱讀 1,545評(píng)論 0 0
  • 做任何事情不能急于求成,做事情不能追求數(shù)量不要求質(zhì)量,在質(zhì)量沒(méi)有保證的前提,數(shù)量再多也是無(wú)用功??匆磺惺挛锊荒芸幢?..
    Nicole肉肉兒閱讀 198評(píng)論 0 0

友情鏈接更多精彩內(nèi)容