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

泉州手机网站建设永久免费的网络加速器

泉州手机网站建设,永久免费的网络加速器,石家庄建设厅网站首页,餐饮网站建设方案书前言 这个问题的灵感来自线上一个小bug,前两天刚看完同事写的代码,对数字类型处理的很好,之前一直都是用正则和toFixed(2)处理数字相关,后面发现使用numeral.js处理更完美。 对于下面这种数据的处理,你能想到几种方法…

前言

这个问题的灵感来自线上一个小bug,前两天刚看完同事写的代码,对数字类型处理的很好,之前一直都是用正则和toFixed(2)处理数字相关,后面发现使用numeral.js处理更完美。

对于下面这种数据的处理,你能想到几种方法,简单思考下

0.1+0.2=0.30000000000000004
0.14*100=14.0000000000000029999999--->'9,999,999'
1234567890--->1,234,567,890

1.先说加减乘除法

0.1+0.2的精准算法,这里以加法举例了,换成减、乘、除法都是一样的

  • 1).使用toFixed()方法:
const sum = 0.1 + 0.2; // 0.14 * 100; 乘法
const roundedSum = parseFloat(sum.toFixed(10));
console.log(roundedSum); // 输出 0.3
  • 2).使用parseFloat()和toFixed()结合:
const sum = parseFloat((0.1 + 0.2).toFixed(10));
console.log(sum); // 输出 0.3
  • 3).使用Math.round():
const sum = Math.round((0.1 + 0.2) * 1e10) / 1e10;
console.log(sum); // 输出 0.3
  • 4).使用numeral.EPSILON:
const sum = 0.1 + 0.2;
const roundedSum = Math.abs(sum - 0.3) < Number.EPSILON ? 0.3 : sum;
console.log(roundedSum); // 输出 0.3
  • 5).使用Numeral.js:
// 安装
npm i numeral -S
// 挂原型链上
import numeral from 'numeral'
Vue.prototype.$numeral = numeral; // 数字金额
let num = this.$numeral(14*100).format('0,0.00')
console.log(num); // 输出 14.00

2.再说超大金额(千位符)格式化处理

  • 1).利用字符串提供的toLocaleString()js内置的方法处理,这个方法最简单
var num = 9999999;
console.log(num.toLocaleString()) // 9,999,999
  • 2).利用正则处理
function addThousandSeparator(number) {// 将数字转换为字符串const numberString = String(number);// 使用正则表达式添加千位符const formattedNumber = numberString.replace(/\B(?=(\d{3})+(?!\d))/g, ',');return formattedNumber;
}const result = addThousandSeparator(9999999);
console.log(result); // 输出 '9,999,999'

\B(?=(\d{3})+(?!\d)) 是一个正则表达式模式,它使用正向零宽断言来匹配不在数字之前的位置,但是在每三个数字之间。这样就可以在这些位置插入千位符

  • 3).使用第三方库的Numeral.js处理
对整数的处理

<script src="https://cdn.bootcss.com/numeral.js/2.0.6/numeral.min.js"></script>
var formattedNumber = numeral(9999999).format('0,0'); // 输出:9,999,999
console.log('formattedNumber',formattedNumber);
对小数点的处理

这里注意括号里逗号与小数点的区别format('0,0.00')


<script src="https://cdn.bootcss.com/numeral.js/2.0.6/numeral.min.js"></script>
var formattedNumber = numeral(9999999.56841).format('0,0.00'); // 输出:9,999,999
console.log('formattedNumber',formattedNumber);
<script src="https://cdn.bootcss.com/numeral.js/2.0.6/numeral.min.js"></script><script>var string = numeral(1634600).format('0,0');console.log(string)// 乘法运算var result = numeral(0.14).multiply(100).value(); // 输出:6console.log('result',result);var result1 = numeral(0.14*100).value(); console.log('result1',result1,numeral(0.14*100).format('0,0.00'));// this.$numeral(0.14*100).format('0,0.00')</script>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>numeral.js</title>
</head>
<body>numeral.js<!-- <script src="https://cdn.bootcdn.net/ajax/libs/numeral.js/2.0.6/locales.min.js"></script> --><script src="https://cdn.bootcss.com/numeral.js/2.0.6/numeral.min.js"></script><script>var string = numeral(1634600).format('0,0');console.log(string)// 乘法运算var result = numeral(0.14).multiply(100).value(); // 输出:6console.log('result',result);var result1 = numeral(0.14*100).value(); console.log('result1',result1,numeral(0.14*100).format('0,0.00'));// this.$numeral(0.14*100).format('0,0.00')</script>
</body>
</html>
http://www.yayakq.cn/news/676206/

相关文章:

  • 如何上传文件到网站四川个人证书查询网官网
  • 网站建设开发决策谷歌浏览器 安卓下载
  • wordpress如何建立网站制作微信小程序的教程
  • 网站制作加盟旅游网站开发方案ppt
  • 网站的优化方法seo网站项目讲解
  • 上海市 建设执业资格注册中心网站全案网络推广公司
  • 永久网站建设有特色的网站设计
  • 杭州网站建设设计公司郑州公司建设网站
  • 临沂市开发区可以做分销的网站仿36氪wordpress
  • 国外网站在国内做节点沈阳网站制作系统
  • 网站 布局仿站定制模板建站
  • 怎么做网上网站科技网站备案
  • 绍兴网站建设08keji东莞搜索引擎网站推广
  • 茂名网站设计珍珠设计制作培训
  • 网站建设销售需要懂的知识军事新闻最新消息视频
  • 灵璧网站建设企业建设网站公司哪家好
  • 动易门户网站价格如何在手机上制作app软件
  • 网站做快速排名是怎么做的呢x wordpress theme
  • 河北网站建站制作东莞哪里有做企业网站的
  • 帝国cms做招聘网站如何制作和设计公司网站
  • 美术类网站建设费用wordpress 生成 app
  • 摄影作品网站排行榜wordpress怎么修改每个网页的代码
  • 外网服装设计网站嘉兴网站建设系统
  • wordpress 建站五分钟尚德建设集团网站
  • 网站404页面优化数据网站怎么做的
  • 分销网站建站网站建设与维护教案
  • 锦州 做网站电脑网络服务器在哪里
  • wordpress外贸服装营销型主题seo是什么的缩写
  • 北京产品设计公司有哪些重庆seo教程
  • 网站做电商销售需要注册吗wordpress评论钩子