JavaScript格式化数字

JavaScript格式化数字格式化数字 小数点前每三位添加逗号 小数点后不改变介绍两种常用的格式化数字的方法 字符串方法 字符串 replace 正则表达式 functiontoTh item varitem0 item toString vardot if item0 indexOf 1 do

格式化数字:小数点前每三位添加逗号,小数点后不改变

介绍两种常用的格式化数字的方法:

  • 字符串方法
  • 字符串replace+正则表达式
 function toThousands0(item){ var item0=item.toString(); var dot=""; if (item0.indexOf(".")!=-1) { dot=item0.slice(item0.indexOf("."));//保留小数点后的内容 item0=item0.slice(0,item0.indexOf(".")); } var res=''; while(item0.length>3){ res=","+item0.slice(-3)+res; item0=item0.slice(0,item0.length-3); } if (item0) { res=item0+res; } return res+dot; } console.log(toThousands0(22.12578)); console.log(toThousands0(7777.0123)); console.log(toThousands0(10));

运行结果:

JavaScript格式化数字

 function toThousands1(num) { var item0=num.toString(); var res=""; var dot=""; if (item0.indexOf(".")!=-1) { dot=item0.slice(item0.indexOf(".")); item0=item0.slice(0,item0.indexOf(".")); } res= item0.replace(/(\d)(?=(\d{3})+$)/g, "$1,"); return res+dot; } console.log(toThousands1(.10)); console.log(toThousands1(123.5));

运行结果:

JavaScript格式化数字

详解:

  • toString()方法的使用:javascript中的toString()方法,主要用于Array、Boolean、Date、Error、Function、Number等对象。可以参考javascript中的toString()方法
  • 字符串方法比较请移步我的另一篇博客JavaScript字符串方法
  • 有关正则:
  1. \d表示匹配数字
  2. ()表示分组,分组一般和$1 $2…一起使用表示匹配的第一个分组第二个分组JavaScript正则表达式之分组匹配 / 反向引用
  3. 量词:{m}m次,{m,n}大于等于m小于等于n,{m,}表示大于等于m次,?={0,1},+={1,}
  4. ^开头$结尾
  5. g global全局匹配 i ignorCase忽略大小写 m mutiple允许多行匹配
  6. replace第二个参数使用$必须加引号
  7. 有关?=的含义:

(?=)和(?!);零宽正向断言和负向断言,括号内表示某个位置右边必须和=右边匹配上,或者不和!后的字符匹配。

exp1(?=exp2) 查找exp2前面的exp1

exp1(?!exp2) 查找后面不是exp2的exp1

var pattern=/str(?=ings)ing/; console.log("strings.a".match(pattern)); console.log("strings.a".match(/string(?=s)/)); console.log("string_x".match(pattern)); console.log("string_x".match(/string(?=s)/)); 

注:

  • 这里一定要用到分组()还有全局匹配g,类似一个遍历的过程。
  • 如果有负号的话,建议像处理dot一样处理一下即可。

正则表达式的另外应用:字符串前面后面去空格:

const TRIM_REGX = /(^\s+)|(\s+$)/g;//因为是去首尾空格所以一定需要^和$,注意是多个空格所以一定要用+,表示出现1次及一次以上≥1,也就是{1,} |表示或操作符 var myres0=' ScriptOJ '.replace(TRIM_REGX, '') // => ScriptOJ console.log(myres0.length);

 

 

运行结果:JavaScript格式化数字

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212904.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午6:59
下一篇 2026年3月18日 下午6:59


相关推荐

  • 【C++要笑着学】迭代器适配器 | 内嵌类型实现反向迭代器 | 迭代器萃取

    【C++要笑着学】迭代器适配器 | 内嵌类型实现反向迭代器 | 迭代器萃取上一章讲解 list 模拟实现时 我们简单的提到了反向迭代器 我们说反向迭代器其实就是对正向迭代器的一种封装 适配器模式 配接器模式 当时我们做的是简单的了解 本章我们就来探讨这一部分的知识

    2026年3月16日
    1
  • noip2014普及组初赛答案_观光3路公交车路线

    noip2014普及组初赛答案_观光3路公交车路线风景迷人的小城Y市,拥有n个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点,随后依次前往2、3、4……n号景点。从第i号景点开到第i+1号景点需要Di分钟。任意时刻,公交车只能往前开,或在景点处等待。设共有m个游客,每位游客需要乘车1次从一个景点到达另一个景点,第i位游客在Ti分钟来到景点Ai,希望乘车前往景点Bi(Ai

    2026年3月4日
    3
  • linux 查询内核版本_linux内核版本号的构成

    linux 查询内核版本_linux内核版本号的构成文章目录Linux内核(Linuxkernel)简介Linux内核版本号1、在CentOS下如:2、在Ubuntu下如:3、在ARMCortex-A7内核的嵌入式Linux开发板下内核版本分类查看Linux内核版本命令查看Linux系统版本的命令本文作者:Jasonhu本文链接:http://jasonhzy.github.io/2019/02/05/linux-kernel-version/Linux内核(Linuxkernel)简介 Linux内核版本命名在不同时期有着不同的规范

    2022年8月23日
    6
  • 月之暗面内测Kimi K2

    月之暗面内测Kimi K2

    2026年3月12日
    3
  • 组合模式解决什么问题_组合模式实例

    组合模式解决什么问题_组合模式实例组合模式 Composite动机模式定义实例结构要点总结笔记动机在软件某些情况下,客户代码过多地依赖于对象容器复杂的内部实现结构,对象内部实现结构(而非抽象接口)地变化将引起客户代码地频繁变化.带来代码地维护性,扩展性等弊端如何将”客户代码与复杂地对象容器结构”解耦?让对象容器自己来实现自身地复杂结构,从而使得客户代码就像处理简单对象一样来处理复杂地对象容器模式定义将对象组合成树形结构以表示”整体-部分”地层次结构.Composite使得用户对单个对象和组合对象地使用具有一致性(稳定)实例树形

    2022年8月9日
    7
  • 软件开发文档-详细设计文档

    软件开发文档-详细设计文档引言引言也称前言 序言或概述经常作为科技论文的开端 提出文中要研究的问题 引导读者阅读和理解全文编写目的帮助开发人员理解项目的业务逻辑术语描述执行标准与相关文档编码标准 文件管理标准 版本管理标准项目概述 1 背景 2 现状项目目标编码规范系统功能概述系统功能总图系统总体介绍系统模块设计模块结构图 模块汇总表 功能简述系统子模块模块描述 功能点分析 性能要求 模块类图

    2026年3月19日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号