栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

四舍五入保留两位小数,不足补0(SQL&JAVA&JS)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

四舍五入保留两位小数,不足补0(SQL&JAVA&JS)

oracle写法
select cast(round(3.23457, 2) as decimal(20, 2)) t1,
       cast(round(3.2, 2) as decimal(20, 2)) t2,
       cast(round(3, 2) as decimal(20, 2)) t3
  from dual

java写法
//保留2位小数
double score = new BigDecimal(score).setScale(2, BigDecimal.ROUND_HALF_UP).doublevalue();
				
//不足两位则补0
DecimalFormat decimalFormat = new DecimalFormat("0.00#");
String scoreStr = decimalFormat.format(score);
Js写法

推荐方法一,方法二适用一些特殊场景
-方法一(推荐,但可能个别场景使用不了)

var num2=3.1
var t1=parseFloat(num2.toFixed(2))
var t2=parseFloat(num2).toFixed(2)//保留两位小数,不足补0
console.log(t1)
console.log(t2)

方式二(用于数据展示时得强制转换)

 if(amountResult!==undefined && amountResult!==null && amountResult!==""){
          var amountResult= amountResult.toString().indexOf('.')>0?amountResult.length-amountResult.toString().indexOf('.')<3?""+amountResult+'0':amountResult:""+amountResult+'.00';
  }

方式三(两个方式其实思路一样)

   //小数位数不够自动补0,0除外 
    toDecimal2=(x)=> {
      if(!this.isNull(x)){
       if(x===0){
        return 0;
      }else{
        var s = x.toString();
        var rs = s.indexOf('.');
        if (rs < 0) {
         rs = s.length;
       s += '.';
       } 
       while (s.length <= rs + 2) {
         s += '0';
           }
           return s;
      
      }
    }
  }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/770821.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号