如何将以下字符串输出转换为BigDecimal?
new java.text.DecimalFormat("#,##0.00").format(
new Double((
$V{xHrAdm}.doubleValue()*$V{xHrAdm}.doubleValue() +
$V{xFodaBnB}.doubleValue()*$V{xFodaBnB}.doubleValue() +
$V{xChem}.doubleValue()*$V{xChem}.doubleValue() +
$V{xSCMnQA}.doubleValue()*$V{xSCMnQA}.doubleValue() +
$V{xPCO}.doubleValue()*$V{xPCO}.doubleValue() +
$V{xComp.Eng}.doubleValue() * $V{xComp.Eng}.doubleValue()) / 6))
我也想要上面表达式的平方根
答案 0 :(得分:0)
1。)为什么需要首先将其转换为String然后再转换为BigDecimal?您可以使用double constructor将其直接转换为BigDecimal,如下所示:
new BigDecimal(
$V{xHrAdm}.doubleValue()*$V{xHrAdm}.doubleValue() +
$V{xFodaBnB}.doubleValue()*$V{xFodaBnB}.doubleValue() +
$V{xChem}.doubleValue()*$V{xChem}.doubleValue() +
$V{xSCMnQA}.doubleValue()*$V{xSCMnQA}.doubleValue() +
$V{xPCO}.doubleValue()*$V{xPCO}.doubleValue() +
$V{xComp.Eng}.doubleValue() * $V{xComp.Eng}.doubleValue()) / 6)
然后将格式应用于单元格。
2。)要获得平方根,您可以使用sqrt method of the Math class,如下所示:
new BigDecimal(
Math.sqrt(
$V{xHrAdm}.doubleValue()*$V{xHrAdm}.doubleValue() +
$V{xFodaBnB}.doubleValue()*$V{xFodaBnB}.doubleValue() +
$V{xChem}.doubleValue()*$V{xChem}.doubleValue() +
$V{xSCMnQA}.doubleValue()*$V{xSCMnQA}.doubleValue() +
$V{xPCO}.doubleValue()*$V{xPCO}.doubleValue() +
$V{xComp.Eng}.doubleValue() * $V{xComp.Eng}.doubleValue()) / 6))