Bigdecimal 下有此方法 floatValue(),转换成float类型,然后再转换成String。比如:
b 是 Bigdecimal的一个实例。 那么 b.floatValue() + "", 这个就是String类型。
sorry,我没看完整你的问题,map中的get()方法返回map中存放的value,根据你用的String.valueOf(cmap.get("ID")方法,你查文档,这个方法返回值就是String类型。而你直接进行强转,就相当于有一个动物这个类转换成植物类。这两个类毫不相干,是无法进行强转的,而你使用这个方法cmap.get("ID").toString(),当value是一个基本数据类型的时候,是没有toString()方法的。 你去查文档,String.valueOf( int i ),String.valueOf( float f) ,String.valueOf( Object o).....所以valueOf方法能成功。
var bigdecimal = 111111122222233;。
1. bigdecimal + "";。
2. bigdecimal.toString()。
几乎所有类型转string都是toString()来转的。
数字类型的直接 数字+字符串就行了。
转成 string,直接取 string 的前五位(先判断是否够5位长)
如果要四舍五入的话,就取前6位,转成数值,做完四舍五入,再取前五位。
实现bigdecimal类型转成String类型:
BigDecimal bd = new BigDecimal("xxx");。
String str = bd.toString();。
在 Java 9 之后,String 类的实现改用 byte 数组存储字符串,同时使用 coder 来标识使用了哪种编码。
value 数组被声明为 final,这意味着 value 数组初始化之后就不能再引用其它数组。并且 String 内部没有改变 value 数组的方法,因此可以保证 String 不可变。
构造方法
BigDecimal一共有4个构造方法:。
BigDecimal(int) 创建一个具有参数所指定整数值的对象。
BigDecimal(double) 创建一个具有参数所指定双精度值的对象。(不建议采用)
BigDecimal(long) 创建一个具有参数所指定长整数值的对象。
BigDecimal(String) 创建一个具有参数所指定以字符串表示的数值的对象。
原文地址:http://www.qianchusai.com/%E6%80%8E%E4%B9%88%E6%8A%8Abigdecimal%E8%BD%AC%E6%88%90string.html