0
点赞
收藏
分享

微信扫一扫

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


用途

保留最多两位小数,舍弃末尾的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<String>) {
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 | 安卓 | 前端 | 小程序 | 鸿蒙

公众号:​花生皮编程

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



举报

相关推荐

0 条评论