使用JS截取小数点后指定的位数

本文介绍了在外汇业务中如何使用JavaScript处理汇率显示,确保保留四位小数。提供了一种自定义格式化方法`formatNumber()`,以及在位数足够或不足时的处理策略。此外,还提到了`toFixed()`方法作为另一种截取小数位数的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在开发外汇业务的时候,遇到页面上汇率的显示小数点保留不一致的问题。业务统一规定保留四位小数。不足四位自动补0。现将实现方法整理如下:

(1).在小数点位数不够的情况下。

首先在tool.js中定义了一个格式化方法formatNumber()

/*
    将字符串格式化到指定的小数点位数
   */
   this.formatNumber = function(nAfterDot)        //nAfterDot小数位数
   {
       var strVal, resultStr,nTen;
   if(this.strVal=="" || this.strVal=="NaN"){
        this.strVal = "0";
  }
       strVal = parseFloat(this.strVal+"");
       strVal = strVal+"";
       strLen = strVal.length;
       dotPos = strVal.indexOf(".",0);
       if (dotPos == -1){
          resultStr = strVal+".";
            for (i=0;i<nAfterDot;i++){
            resultStr = resultStr+"0";
          }
        return resultStr;
  }
  else{
           if ((strLen - dotPos - 1) >= nAfterDot){
            nAfter = dotPos + nAfterDot + 1;
            nTen =1;
            for(j=0;j<nAfterDot;j++){
            nTen = nTen*10;
       }
          resultStr = Math.round(parseFloat(strVal)*nTen)/nTen;
          return resultStr;
     }
   else{
       resultStr = strVal;
       for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
        resultStr = resultStr+"0";
        }
       return resultStr;
        }
     }
 } 

在具体的页面上,首先获取到汇率的字符串

var remitBidRate=xx.yyyyyy;//汇率

var remitBidRate=remitBidRate +"";//如果汇率不是字符串,则要将其变为字符串

var remitBid = remitBidRate.substring(0,remitBidRate.indexOf(".")+5);

此时的remitBid已经是截取后的数值了,下面是的方法是保证如果不足四位则补0的方法。

调用上面 tool.js中的方法,在项目中,我们是把所有的js都引入到了top池中,所以只需通过top去new一个string就可以了。

其他人若想使用,可根据自己项目的架构接口去灵活创建。

text_exRate= new top.StringCtrl(remitBid).formatNumber(4);

此时的text_exRate就是最终得到的结果数值了。

(2)截取的位数完全足够。如获取的是四位小数,需求要截取两位,可使用以下方法:

<script>

var num =35.45678;

alert(num.toFixed(2));

</script>

toFixed()的参数控制要截取的位数。

两种方法可按具体需要使用,谢谢参阅。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值