#
BigDecimal sumAmount= new BigDecimal("100.01");
BigDecimal transAmt = sumAmount.multiply(new BigDecimal(100));//乘以100(单位:分) //String 转化为 BigDecimal ,乘以100,元转化为分进制是100
String a=transAmt.intValue()+""; //BigDecimal取整 并 转化为String类型
System.out.println(sumAmount+"元 等于 "+a+"分 "+transAmt); // 合并显示转化前后,以及没有取整的 BigDecimal类型
100.01元 等于 10001分 10001.00
# Java 保留2位小数
import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.NumberFormat;
public class Test {
public static void main(String[] args) {
double d = 756.2345566;
//方法一:最简便的方法,调用DecimalFormat类
DecimalFormat df = new DecimalFormat(".00");
System.out.println(df.format(d));
//方法二:直接通过String类的format函数实现
System.out.println(String.format("%.2f", d));
//方法三:通过BigDecimal类实现
BigDecimal bg = new BigDecimal(d);
double d3 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(d3);
//方法四:通过NumberFormat类实现
NumberFormat nf = NumberFormat.getNumberInstance();
nf.setMaximumFractionDigits(2);
System.out.println(nf.format(d));
}
}