当前位置: 首页 > 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/788555/

相关文章:

  • 小米盒子做网站深圳积分商城网站制作
  • 搜索关键词推荐新网站如何做seo
  • 公司网站手机版模板photoshop破解版
  • 网站建设报价模板网站服务器租用售价
  • 做公司网站详细步骤房屋装修app
  • 电脑软件和网站怎么做东莞网站建设主要学什么
  • 仿qq商城版淘宝客网站源码模板+带程序后台文章dede织梦企业程序西安专业seo
  • 网站建设合同 售后维护期中国建设银行网站外汇
  • 自己电脑做网站教程职业学校网站建设方案
  • 电商网站建设信息做网站的人叫什么
  • 网站后台生成器做智能网站系统下载
  • 什么是企业网站策划案镇江网站设计开发公司电话
  • 网站建设的商业目的wordpress链接下划线
  • 建设银行移动门户网站南昌微信网站建设
  • 济南网站制作策划朋友圈海报用什么网站做的
  • 网站建设包含的费用内容如何让网站做成移动版
  • 濮阳公司做网站网站做不了301重定向
  • 哈尔滨营销型网站建设公司wordpress子网站
  • 2017学脚本语言做网站祈网网站建设
  • 柳州网站推广哪家好成都网站建设怎么样
  • 外贸网站运营湖北做网站多少钱
  • wp网站建设教程邯郸信息港招聘信息港
  • 格瑞特网站建设seo引流赚钱吗
  • 做网站用什么语言制作最安全2021年电商平台排行榜
  • 购物网站静态页面wordpress 外链顶部条
  • 太原网站建设乛薇苍南配网设计
  • 网站营销公司哪家好邯郸哪有做网站的
  • 仿糗事百科网站源码建立皇朝争霸完结小说
  • 静态网站跟动态做一视频网站多少钱
  • 厦门做网站多永川建网站