【无标题】

本文介绍了如何使用JavaScript内置对象,如String.prototype.substring()、indexOf和typeof,来精确地截取并保留小数点后的指定位数。通过实例和代码展示了如何根据传入的数字或字符串进行转换和操作,适用于数值处理场景。
摘要由CSDN通过智能技术生成

用到js标准内置对象,以及表达式:

  • String.prototype.substring()
    • 返回一个字符串在开始索引到结束索引之间的一个 子集,这个子集不包含结束索引位置上的那个字符。
    • str.substring(start,end) start 开始索引,end结束索引
  • String.prototype.indexOf
    • 返回调用它的String对象中第一次,出现的指定值的索引,如果未找到该值,则返回-1。
  • typeof
    • 返回字符串,表示未经计算的操作数的类型

思路

 将数字转为字符串,找到小数点索引,根据想要截取的小数点后的位数,与小数点索引相加,从index为0的位置开始截取字符串,要注意sustring()的用法;
/**
 * 
 * @param {(number|string)} value 传入的数字或者数字字符串
 * @param {(undefined|number)} places 要保留的位数
 */
export function keepNDecimalPlaces(value, places) {

  let val = value
  let pla
  if (places) {
    pla = places
  } else {
    pla = 0
  }

  if (typeof value !== 'string') {
    value = value.toString()
  }
  if (value.indexOf(".") > 0) {
    val = Number(value.substring(0, value.indexOf(".") + pla + 1))
  } else {
    val = Number(value)
  }
  return val
}

参考MDN文档:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值