java中的 BigDecimal 和 String 的相互轉換
string 轉BigDecimal
1 public class Test{
2 public static void main(String[] arg) {
3 String str1="2.30";
4 BigDecimal bd=new BigDecimal(str1);
5 System.out.println(bd);
6 }
7 }
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;
}