java String转bigdecimal 精确两位小数点然后对转的数进行算法计算。

String s="125.671";
BigDecimal b = new BigDecimal(s); 
b=b.setScale(2, BigDecimal.ROUND_DOWN); //小数位 直接舍去
//b=b.setScale(2, BigDecimal.ROUND_HALF_UP); //四舍五入
//BigDecimal add(BigDecimal augend) 
//BigDecimal subtract(BigDecimal subtrahend)
//BigDecimal multiply(BigDecimal multiplicand) 
//BigDecimal divide(BigDecimal divisor)

BigDecimal c = b.add(nwe BigDecimat("763.21")); 


// --------------------------------------------------------------------------------------

注意:下面两种格式也是可以识别的。

String str = "234.";
BigDecimal b = new BigDecimal(str); 
b=b.setScale(2, BigDecimal.ROUND_DOWN); //小数位 直接舍去,不会四舍五入

输出:234.00


String str = ".4599";
BigDecimal b = new BigDecimal(str); 
b=b.setScale(2, BigDecimal.ROUND_DOWN); //小数位 直接舍去,不会四舍五入
输出:0.45

类似的,这样子的

String str1 = ".457";
float number1 = Float.parseFloat(str1);
System.out.println(number1);
		
String str2 = "454.";
float number2 = Float.parseFloat(str2);
System.out.println(number2);

这里可以看到对于"xxx."或者".xxx"格式的数字字符串,是标准可以识别转化的。