您当前的位置: 首页 >  Java

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Java/Kotlin 最多保留两位小数处理方法

蓝不蓝编程 发布时间:2020-03-12 15:00:40 ,浏览量:0

用途

保留最多两位小数,舍弃末尾的0. 样例: 3.345->3.34 3.40->3.4 3.0->3

Java代码
public class NumberUtil {
    /**
     * 把金额从分为单位,转化为元为单位,保留最多两位小数(舍弃末尾的0)
     */
    public String getMoneyByYuan(long moneyByFen) {
        return getNoMoreThanTwoDigits(moneyByFen / 100.0);
    }

    /**
     * 对入参保留最多两位小数(舍弃末尾的0),如:
     * 3.345->3.34
     * 3.40->3.4
     * 3.0->3
     */
    public String getNoMoreThanTwoDigits(double number) {
        DecimalFormat format = new DecimalFormat("0.##");
        //未保留小数的舍弃规则,RoundingMode.FLOOR表示直接舍弃。
        format.setRoundingMode(RoundingMode.FLOOR);
        return format.format(number);
    }

    public static void main(String[] args) {
        NumberUtil f = new NumberUtil();
        System.out.println(f.getMoneyByYuan(30002));
    }
}
Kotlin代码
fun main(args: Array) {
    println(getMoneyByYuan(30002))
}

/**
 * 把金额从分为单位,转化为元为单位,保留最多两位小数(舍弃末尾的0)
 */
fun getMoneyByYuan(moneyByFen: Long) = getNoMoreThanTwoDigits(moneyByFen / 100.0)

/**
 * 对入参保留最多两位小数(舍弃末尾的0),如:
 * 3.345->3.34
 * 3.40->3.4
 * 3.0->3
 */
fun getNoMoreThanTwoDigits(number: Double): String {
    val format = DecimalFormat("0.##")
    //未保留小数的舍弃规则,RoundingMode.FLOOR表示直接舍弃。
    format.roundingMode = RoundingMode.FLOOR
    return format.format(number)
}
关于我

厦门大学计算机专业 | 前华为工程师 Java | 安卓 | 前端 | 小程序 | 鸿蒙 公众号:蓝不蓝编程

关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.0391s