android gson 解析整型到字符串变浮点型

48 阅读1分钟

如题,工作中会遇到 android gson 解析整型到字符串变浮点型的情况,这个时候,你就需要一个方法来控制要显示整型还是浮点型

import java.math.BigDecimal

object NumberHelper {

    fun parse(str: String): Number {
        val number: Number = try {
            str.toFloat()
        } catch (e: NumberFormatException) {
            try {
                str.toDouble()
            } catch (e1: NumberFormatException) {
                try {
                    str.toInt()
                } catch (e2: NumberFormatException) {
                    try {
                        str.toLong()
                    } catch (e3: NumberFormatException) {
                        throw e3
                    }
                }
            }
        }
        return number
    }

    /**
     * 获取一位小数浮点数
     */
    fun getOneDotFloat(num:Double):Float {
        val bg = BigDecimal(num)
        return bg.setScale(1,BigDecimal.ROUND_HALF_UP).toFloat()
    }
}

使用方法

显示整型

NumberHelper.parse(packCount).toInt()

显示浮点型

NumberHelper.parse(pics).toFloat()