Commit 811d96ab8de00627f01011e6605df89c8838d181
1 parent
7f7d069f03
Exists in
master
and in
6 other branches
修复精度丢失
Showing 1 changed file with 8 additions and 6 deletions
platform-operate-api/src/main/java/com/lyms/platform/operate/web/service/impl/BabyEvaluationCriterionServiceImpl.java
View file @
811d96a
... | ... | @@ -494,22 +494,24 @@ |
494 | 494 | val += model.getProjectVal(); |
495 | 495 | } |
496 | 496 | } |
497 | - int developmentQuotient = 0; | |
497 | + BigDecimal developmentQuotient; | |
498 | 498 | if (val > 0) { |
499 | - int mentalAge = new BigDecimal(val.toString()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP).intValue(); | |
500 | - developmentQuotient = new BigDecimal(mentalAge).divide(new BigDecimal(checkMonth), 2, BigDecimal.ROUND_HALF_UP).intValue(); | |
501 | - developmentQuotient *= 100; | |
499 | + double mentalAge = new BigDecimal(val.toString()).divide(new BigDecimal(5), 2, BigDecimal.ROUND_HALF_UP).doubleValue(); | |
500 | + BigDecimal multiply = new BigDecimal(mentalAge).divide(new BigDecimal(checkMonth), 2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)); | |
501 | + developmentQuotient = new BigDecimal(multiply.toString()); | |
502 | + } else { | |
503 | + developmentQuotient = BigDecimal.ZERO; | |
502 | 504 | } |
503 | 505 | |
504 | 506 | // 发育商、智能、等级评价 |
505 | 507 | BabyEvaluationCriterionModel criterionModel = mongoTemplate.findOne(Query.query(Criteria.where("type").is(2). |
506 | - and("minBorder").lte(developmentQuotient).and("maxBorder").gte(developmentQuotient)), BabyEvaluationCriterionModel.class); | |
508 | + and("minBorder").lte(developmentQuotient.intValue()).and("maxBorder").gte(developmentQuotient.intValue())), BabyEvaluationCriterionModel.class); | |
507 | 509 | String aptitudeName = null,levelName = null; |
508 | 510 | if (criterionModel != null) { |
509 | 511 | aptitudeName = criterionModel.getAptitudeName(); |
510 | 512 | levelName = criterionModel.getLevelName(); |
511 | 513 | } |
512 | - paramModel.setDevelopmentQuotient(developmentQuotient); | |
514 | + paramModel.setDevelopmentQuotient(developmentQuotient.intValue()); | |
513 | 515 | paramModel.setAptitudeName(aptitudeName); |
514 | 516 | paramModel.setLevelName(levelName); |
515 | 517 | return paramModel; |