美文网首页
java BigDecimal 处理五舍六入问题

java BigDecimal 处理五舍六入问题

作者: O_afb7 | 来源:发表于2020-04-15 17:37 被阅读0次

    import java.math.BigDecimal;

    /**

    * 处理小数的五舍六入问题思路:

    *有效位的下一位减一,然后用四舍五入的方式处理

    */

    public class RoundOffUtil {

    private static final BigDecimalone =new BigDecimal(1);

    private  static final BigDecimalten =new BigDecimal(10);

    public static String handleRoundoff(String source,int pow){

    //使有效位减一

    //被减数

            BigDecimal minuend =one.divide(ten.pow(pow+1));

    //减数

            BigDecimal subtrahend =new BigDecimal(source);

    //两数做差

            BigDecimal target = subtrahend.subtract(minuend);

    return  target.setScale(pow,BigDecimal.ROUND_HALF_UP).toString();

    }

    public static void main(String[] args) {

    String s = RoundOffUtil.handleRoundoff("12.356",2);

    System.out.println("=="+s);

    }

    }

    相关文章

      网友评论

          本文标题:java BigDecimal 处理五舍六入问题

          本文链接:https://www.haomeiwen.com/subject/tpswhqtx.html