Jasper reports 在ireport中将字符串转换为bigdecimal

Jasper reports 在ireport中将字符串转换为bigdecimal,jasper-reports,bigdecimal,Jasper Reports,Bigdecimal,如何将以下字符串输出转换为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}.doubleVal

如何将以下字符串输出转换为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))
  • 我还需要上面表达式的平方根

  • 1.)为什么需要先将其转换为字符串,然后再转换为BigDecimal?您可以使用如下方法将其直接转换为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)
    
    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))
    
    然后将格式应用于单元格

    2.)要获得平方根,可以使用如下公式:

    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)
    
    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))