首页 > 其他分享 >js精度丢失的问题,利用lodash函数库重新封装

js精度丢失的问题,利用lodash函数库重新封装

时间:2023-11-30 13:45:28浏览次数:40  
标签:decimalIndex console 函数库 js decimalPlaces log str var lodash

function roundAndPad(num, decimalPlaces) {     var rounded = _.round(num, decimalPlaces);  // 使用Lodash的_.round函数四舍五入     var str = rounded.toString();     var decimalIndex = str.indexOf('.');     console.log("str:",str);     console.log(".的位置:",decimalIndex);     if (decimalIndex === -1) {         // 如果没有小数点,添加小数点和足够的0         str += '.' + '0'.repeat(decimalPlaces);     } else {         // 如果有小数点,添加足够的0         var actualDecimalPlaces = str.length - decimalIndex - 1;//目前小数的位数         console.log("目前小数的位数:",actualDecimalPlaces);         str += '0'.repeat(decimalPlaces - actualDecimalPlaces);//添加要保留的位数-目前小数的位数     }     return str; }
console.log(roundAndPad(158.9872, 2))

标签:decimalIndex,console,函数库,js,decimalPlaces,log,str,var,lodash
From: https://www.cnblogs.com/zhaohui9527/p/17867106.html

相关文章

  • 常用JS工具函数-判断视频的时长
    ......
  • url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介
    引子浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encodeURI()等等。关于浏览器参数操作,请看文章javascript浏览器参数的操作,js获取浏览器参数 ,今天主要讲讲escape(),encodeURI(),enco......
  • vue.js(二)补充
    示例表单:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><scriptsrc="./js/vue.js"></script><title>Title</title></head><body><divclass......
  • JacksonUtils - 封装基于 jackson 的 json 转换逻辑代码
    JacksonUtils.javapackageorg.example.util;importcom.fasterxml.jackson.core.JsonProcessingException;importcom.fasterxml.jackson.databind.JavaType;importcom.fasterxml.jackson.databind.JsonNode;importcom.fasterxml.jackson.databind.ObjectMapper;im......
  • 自学day8 js的字符串
    typora-copy-images-to:mediaES5和字符串一、ES5的语法js在产生的时候,年代比较早,当时的web需求比较少,所以刚开始的js功能比较少,语法没有特别严谨。随着时代的发展和web应用的普及,js需要更多的功能,以及更严谨的语法,所以,js会有版本的升级。第一版的js是ECMA一开始统一了标准以......
  • 使用html文件渲染浏览器翻译json文件
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>PreTagExample</title&......
  • js和python获取1-100之间的质数
    jsfor(leti=2;i<=100;i++){letiszs=truefor(letj=2;j<i;j++){if(i%j===0){iszs=falsebreak}}if(iszs){zs.push(i)}}console.log(zs)pythonzs=[]foriinrange(2,101):iszs......
  • 【个人理解】什么是Node.js、V8引擎、事件驱动、非阻塞式I/O
    什么是Node.js?Node.js是一个基于ChromeV8引擎的JS运行环境,允许你在服务器上构建你的应用程序。它采用了一套事件驱动、非阻塞式I/O模型,让JS可以运行在服务器上的开发平台。为什么要用Node.js?为什么现在主流前端框架Vue、React等都需要基于Node环境进行开发呢?基本原因1:不基......
  • JsonResponse源码分析
    1.视图层返回JsonResponsereturnJsonResponse({'name':'kevin','age':19})2.触发JsonResponse的__init__方法将{'name':'kevin','age':19}传给data3.源码分析def__init__(self,data,encoder=DjangoJSONEn......
  • yaml/json/ini 配置读取
    ConfigParser安装ConfigParser是解析配置文件的第三方库,须要安装pipinstallConfigParserpipinstallConfigParserConfigParser介绍ConfigParser是用来读取配置文件(能够是.conf,txt,ini)的包配置文件的格式如下:中括号'[]'内包含的为section。section下面为option,相似......