|
@@ -1760,26 +1760,6 @@ func (c *ExcelInfoController) Calculate() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- //expression := formula.NewExpression(formulaFormStr)
|
|
|
- //calResult, err := expression.Evaluate()
|
|
|
- //if err != nil {
|
|
|
- // br.Msg = "计算失败"
|
|
|
- // br.ErrMsg = "计算失败:Err:" + err.Error() + ";formulaStr:" + formulaFormStr
|
|
|
- // // 分母为0的报错
|
|
|
- // if strings.Contains(err.Error(), "divide by zero") {
|
|
|
- // br.Msg = "分母不能为0"
|
|
|
- // br.ErrMsg = "分母不能为空,计算公式:" + formulaFormStr
|
|
|
- // br.IsSendEmail = false
|
|
|
- // }
|
|
|
- // return
|
|
|
- //}
|
|
|
- //// 如果计算结果是NAN,那么就提示报错
|
|
|
- //if calResult.IsNan() {
|
|
|
- // br.Msg = "计算失败"
|
|
|
- // br.ErrMsg = "计算失败:计算结果是:NAN;formulaStr:" + formulaFormStr
|
|
|
- // return
|
|
|
- //}
|
|
|
-
|
|
|
calFloat, err := engine.ParseAndExec(formulaFormStr)
|
|
|
//calVal, err := calResult.Float64()
|
|
|
if err != nil {
|
|
@@ -1787,8 +1767,7 @@ func (c *ExcelInfoController) Calculate() {
|
|
|
fmt.Println(err)
|
|
|
return
|
|
|
}
|
|
|
- //nanCheck := fmt.Sprintf("%0.f", calVal)
|
|
|
- // 转Decimal然后四舍五入
|
|
|
+
|
|
|
calFloat, _ = decimal.NewFromFloat(calFloat).Round(4).Float64()
|
|
|
calVal := utils.FormatMixTableDataShowValue(calFloat)
|
|
|
//calVal := calResult.String()
|