例子1,string 转BigDecimal

public class Test{
public static void main(String[] arg) {
String str1="2.30";
BigDecimal bd=new BigDecimal(str1);
System.out.println(bd);
}
}

直接new  就行了。

例子2,BigDecimal和String的相互转换

/*由数字字符串构造BigDecimal的方法
*设置BigDecimal的小数位数的方法
*/
import java.math.BigDecimal;
//数字字符串
String StrBd="1048576.1024";
//构造以字符串内容为值的BigDecimal类型的变量bd
BigDecimal bd=new BigDecimal(StrBd);
//设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(四舍五入)
bd=bd.setScale(2, BigDecimal.ROUND_HALF_UP);
//转化为字符串输出
String OutString=bd.toString();

补充:原 Integer转BigDecimal

new BigDecimal(Integer.parseInt(findCcid.toString()))

Object转BigDecimal类型:

public static BigDecimal getBigDecimal(Object value) {
BigDecimal ret = null;
if (value != null) {
if (value instanceof BigDecimal) {
ret = (BigDecimal) value;
} else if (value instanceof String) {
ret = new BigDecimal((String) value);
} else if (value instanceof BigInteger) {
ret = new BigDecimal((BigInteger) value);
} else if (value instanceof Number) {
ret = new BigDecimal(((Number) value).doubleValue());
} else {
throw new ClassCastException("Not possible to coerce [" + value + "] from class " + value.getClass() + " into a BigDecimal.");
}
}
return ret;
}

BigDecimal 通常称为大小数类,主要运用在一些对数字精度要求很高的项目上,例如银行项目。 Java java .math包 提供的API类 BigDecimal ,用来对超过16位有效位的数进行精确的运算。下面简单说一下它与 String 类型的 转换 。 1. BigDecimal 转换 String BigDecimal num = new BigDecimal ("xxx"); String str ... 我们可以看到,这里拿到的是一个 BigDecimal 类型的数据, 1. BigDecimal 类型转化为 String 类型的数据 // 这里呢,在industryUseRecordEntity这个对象里面, // SumSourceNum这个属性存储的数据就是 BigDecimal 类型的数据, valueList.add(industryUseRecordEntity.getSumSourceNum()); 我们只需要在对象前面加上 String .format("%.0f,) // %0.f意思就是小数点后面保留0. String a = "50.00";  //字符串类型,必须是数字,否则会报错, java .lang.NumberFormatException 异常 BigDecimal b = new BigDecimal (a); BigDecimal 加法运算 BigDecimal planeTax= new BigDecimal (bookInfo.getPlane... (大整数类) 使用时导包: java .math.BigInteger 作用:可以使用BigInteger操作大整数,也可以 转换 进制。如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作。这些大数都会以字符串的形式传入。 一、常用构造方法: BigInteger(int numBit,Random rnd) 构造一个随机生成的 BigInteger,它是在 0 到 (2^numBits – 1)(包括)范围内均匀分布的值。 生成五个范围在0 到 (2^1000 – 1)的随机整 字符串 转换 器 帮助您将 String 转换 为标准 Java 类型列表的 API: byte/Byte boolean/Boolean char/Charachter short/Short float/Float long/Long double/Double int/Integer 字符串 BigInteger/ BigDecimal UUID 库还包含带有可替换变压器的缓存。 String TransformManagerImpl.getInstance().getTransformer(Integer.class).transform("123") String TransformManagerImpl.getInstance() void register( String Transformer string Transformer); void unregister 一、构造 BigDecimal BigDecimal 提供了丰富的构造函数,可以通过int、long、double、 String 等来构造一个 BigDecimal 对象。 但是,使用double作为参数的构造函数,无法精确构造一个 BigDecimal 对象,需要自己指定一个上下文的环境,也就是指定精确位。 BigDecimal bg = new BigDecimal (1.1); System.out.println(bg.to String ()); 运行结果: 1.100000000000000088817841. 看朋友的BLOG,上面说double和float用于科学计算和工程计算,在商业上要使用 BigDecimal ,特别是由于精度问题和表示范围。 BigDecimal 的其 两个构造函数的区别, BigDecimal (double val)           Translates a double into a BigDecimal . BigDecimal ( String val)     8种基本类型所对应的对象类型,可以直接将基本类型的变量表示为一个对象,在执行变量类型的 相互 转换 时,我们会大量使用这些包装类。 包装类有什么用? 1、支持null字面值,可以表示空值。 2、支持缓存,提高复用效率。 3、内部提供多种类型 转换 的方法。 4、可以为Object类型引用赋值,便于使用多态。 有几种包装类?   private static final BigDecimal BIGDECIMAL _ZERO = new BigDecimal ("0"); static { // 这里一定要注册默认值,使用null也可以 BigDecimal Converter bd = new BigDecimal Converter( BIGDECIMAL _ZERO); 作者:LanceToBigDatacnblogs.com/zhangyinhua/p/11545305.html一、 BigDecimal 概述 Java java .math包 提供的API类...