当前位置: 首页 > article >正文

js数字处理的相关方法

1.获取常规数据的有效位数

    function getDecimalPlaces(number) {
        // 将数字转换为字符串形式
        var absNumber = Math.abs(number)
        var strNumber = absNumber.toString();
        // 检查是否存在小数点
        if(absNumber > 1 && strNumber.includes('.')){
            return strNumber.replace('.','').length
        } else if (absNumber < 1 && strNumber.includes('.')) {
            // 分割整数和小数部分,并返回小数部分的长度
            return strNumber.replace('.','').length - 1 ;
        } else {
            return strNumber.length;
        }
    }

2.保留指定位数有效数字

//保留指定位数有效数字
    function ensureDecimalPlaces(number, desiredDecimals) {
        // 将数字转换为字符串形式,不使用指数表示法
        var strNumber = number.toPrecision().includes('e') ? number.toFixed(desiredDecimals) : number.toString();
        // 检查是否有小数点,并分割整数和小数部分
        var [integerPart, decimalPart = ""] = strNumber.split('.');
        // 确保小数部分有足够的长度
        var decimalLength = decimalPart.length;
        if (decimalLength < desiredDecimals) {
            // 补充零直到达到所需的小数位数
            decimalPart = decimalPart + '0'.repeat(desiredDecimals - decimalLength);
        } else if (decimalLength > desiredDecimals) {
            // 如果小数部分过长,可以进行四舍五入
            return parseFloat(number).toFixed(desiredDecimals);
        }
        // 返回带有指定小数位数的字符串
        return `${integerPart}.${decimalPart}`;
    }


http://www.kler.cn/a/452398.html

相关文章:

  • 【QED】爱丽丝与混沌的无尽海
  • 嵌入式学习-QT-Day06
  • Java 异常类详细介绍
  • Linux之ARM(MX6U)裸机篇----2.汇编LED驱动实验
  • RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)
  • Android Jetpack常用组件‌
  • 【UE5.3.2】生成vs工程并rider打开
  • 完全免费英语听力数字日期部分训练软件
  • vue3入门教程:ref能否完全替代reactive?
  • Spring Boot对访问密钥加密解密——RSA
  • vue3入门教程:计算属性
  • CentOS7 安装MySQL
  • STM32 -- USB虚拟串口通信
  • Kubernetes ConfigMap的创建与使用
  • 深入探讨 Rust 与 C 的对比及其在内存安全和跨语言调用中的应用
  • 每天五分钟机器学习:核函数
  • AJAX与Axios
  • 第四节、电机定角度转动【51单片机-L298N-步进电机教程】
  • leetcode hot100 LRU缓存
  • docker 安装雷池WAF防火墙 守护Web服务器
  • 软件工程课程知识点
  • 解决需要用到1.x版本的tensorflow环境的问题
  • 【递归与回溯深度解析:经典题解精讲(上篇)】—— LeetCode
  • 每天40分玩转Django:Django表单集
  • 在 Mac M2 上安装 PyTorch 并启用 MPS 加速的详细教程与性能对比
  • 使用Python探索量子机器学习