IT俱乐部 Java 使用工具类-java精确到小数点后6位

使用工具类-java精确到小数点后6位

工具类-java精确到小数点后6位

验证要求,必须精确到小数点后6位,但是后面都是0的话,double会省略0,正则验证不通过,所以

有了下面解决方法

精确到小数点后六位,若最后一位是0则用1代替。

private double getSixScale(String s) {
    //先精确到后6位,并转为字符串
    String sixScaleString = new BigDecimal(s).setScale(6, BigDecimal.ROUND_HALF_UP).toString();
    //若字符串最后一位是0,则用1代替
    if ("0".equals(sixScaleString.substring(sixScaleString.length() - 1))) {
        sixScaleString = sixScaleString.substring(0, sixScaleString.length() - 1) + "1";
    }
    //再转为double
    return new BigDecimal(sixScaleString).doubleValue();
}

java除法运算问题(保留小数)

编程的人都知道,java中的“/”、“%”运算,其中前者为取整,后者取余数。

那么有没有快捷的运算方法取正常的运算结果呢?

查了资料,发现很简单。

代码如下:

/**
 * TODO 除法运算,保留小数
 * @author 袁忠明
 * @date 2018-4-17下午2:24:48
 * @param a 被除数
 * @param b 除数
 * @return 商
 */
public static String txfloat(int a,int b) {
    // TODO 自动生成的方法存根
 
    DecimalFormat df=new DecimalFormat("0.00");//设置保留位数

    return df.format((float)a/b);
   
}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/java/6847.html
上一篇
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部