我是靠谱客的博主 震动皮皮虾,最近开发中收集的这篇文章主要介绍小数加减乘除和double互转BigDecimal,百分比转换一、加减乘除工具类二、double互转BigDecimal三、 小数和百分比的转换,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
一、加减乘除工具类
package com.mmall.util;
import java.math.BigDecimal;
/**
* Created by 敲代码的卡卡罗特
*/
public class BigDecimalUtil {
private BigDecimalUtil(){
}
//v1+v2
public static BigDecimal add(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.add(b2);
}
// v1-v2
public static BigDecimal sub(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.subtract(b2);
}
//v1*v2
public static BigDecimal mul(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.multiply(b2);
}
//v1/v2
public static BigDecimal div(double v1,double v2){
BigDecimal b1 = new BigDecimal(Double.toString(v1));
BigDecimal b2 = new BigDecimal(Double.toString(v2));
return b1.divide(b2,2,BigDecimal.ROUND_HALF_UP);//四舍五入,保留2位小数
//除不尽的情况
}
}
二、double互转BigDecimal
1.BigDecimal转double,使用BigDecimal类里面doubleValue()方法:
2.double转BigDecimal,使用BigDecimal类里面valueOf()方法:
三、 小数和百分比的转换
小数转换成百分比
// 方法一:
DecimalFormat df = new DecimalFormat("0%");
String s = df.format(0.19); -- 19%
// 方法二:
NumberFormat percentInstance = NumberFormat.getPercentInstance();
percentInstance.setMaximumFractionDigits(2); // 保留小数两位
百分比转换成小数
// 接口返回的是Number对象,但是实际是Double类型
Double num = (Double)NumberFormat.getInstance().parse("67.89%"); // 转换的结果是67.89
Double num2 = (Double)NumberFormat.getPercentInstance().parse("67.89%"); // 转换的结果是0.6789
String format = percentInstance.format(0.81247); // 结果是81.25% ,最后一们四舍五入
最后
以上就是震动皮皮虾为你收集整理的小数加减乘除和double互转BigDecimal,百分比转换一、加减乘除工具类二、double互转BigDecimal三、 小数和百分比的转换的全部内容,希望文章能够帮你解决小数加减乘除和double互转BigDecimal,百分比转换一、加减乘除工具类二、double互转BigDecimal三、 小数和百分比的转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复