完成率,保留两位小数,double

JAVA实现保留两位小数

double fk = fkyfk==0?0:(fkyfk - fkwfk) / fkyfk;

double jj = jjyfk==0?0:(jjyfk - jjwfk) / jjyfk;

BigDecimal bfk = new BigDecimal(fk);

BigDecimal bjj = new BigDecimal(jj);

int fk1 = bfk.setScale(0, BigDecimal.ROUND_HALF_UP).intValue();

int jj1 = bjj.setScale(0, BigDecimal.ROUND_HALF_UP).intValue();

//

double fk1 = bfk.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();

double jj1 = bjj.setScale(2, BigDecimal.ROUND_HALF_UP). doubleValue ();

 

数据库中用SQL实现:

decode (

         TOTAL,--分母

          0,

          '0%',

          (dec (cast (FACT AS FLOAT/ TOTAL + 0.005,

                10,

                2)

           * 100

           || '%'))

          AS FKLV


你可能感兴趣的:(double)