Numeral.js数字格式化

翻译自 Numeral.js

用它

在浏览器中

<script src="numeral.min.js"></script>

或者引用从cdnjs.com

<script src="http://cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>

在Node.js中

npm install numeral
var numeral = require('numeral');

创建

创建数字的实例。数字采用它转换为数字的数字或字符串。

var myNumeral = numeral(1000);var value = myNumeral.value();
// 1000var myNumeral2 = numeral('1,000');var value2 = myNumeral2.value();
// 1000

格式

数字可以格式化为货币,百分比,时间,甚至是带有小数位,数千和缩写的普通旧数字。您始终可以  创建自定义格式。

var string = numeral(1000).format('0,0');
// '1,000'

Numbers

Currency

Bytes

Percentages

Time

Exponential

功能


该值始终可用。

var number = numeral(1000);var string = number.format('0,0');
// '1,000'var value = number.value();
// 1000

操作

并不是说你会经常使用它们,但是当你需要它们时它们就在那里。

var number = numeral(1000);var added = number.add(10);
// 1010

设置

设置数字对象的值。

var number = numeral();number.set(1000);var value = number.value();
// 1000

差异

找出数字对象和值之间的差异

var number = numeral(1000),value = 100;var difference = number.difference(value);
// 900

克隆

当你在它时,继续克隆任何数字对象。

var a = numeral(1000);
var b = numeral(a);
var c = a.clone();var aVal = a.set(2000).value();
// 2000var bVal = b.value();
// 1000var cVal = c.add(10).value();
// 1010

设置

默认格式

设置默认格式,以便您可以使用不带字符串的.format()。默认格式为'0,0'

var number = numeral(1000);number.format();
// '1,000'numeral.defaultFormat('$0,0.00');number.format();
// '$1,000.00'

自定义零和空格式

格式化数字值为0或null时设置自定义输出

var number = numeral(0);
var nullNumber = numeral(null);numeral.zeroFormat('N/A');
numeral.nullFormat('N/A');var zero = number.format('0.0')
// 'N/A'var na = nullNumber.format('0.0')
// 'N/A'

本地化

让我们到处都可以使用它!

// load a locale
numeral.register('locale', 'fr', {delimiters: {thousands: ' ',decimal: ','},abbreviations: {thousand: 'k',million: 'm',billion: 'b',trillion: 't'},ordinal : function (number) {return number === 1 ? 'er' : 'ème';},currency: {symbol: '€'}
});// switch between locales
numeral.locale('fr');

由于我不熟悉地球上的每个地区,请随意通过提交拉取请求来创建您自己的语言环境文件。不要忘记创建语言环境文件(例如:locales / fr.js)和语言环境测试(例如:tests / locales / fr.js)。谢谢你的帮助。

格式

添加自己的自定义格式就像添加区域设置一样简单。

// load a format
numeral.register('format', 'percentage', {regexps: {format: /(%)/,unformat: /(%)/},format: function(value, format, roundingFunction) {var space = numeral._.includes(format, ' %') ? ' ' : '',output;value = value * 100;// check for space before %format = format.replace(/\s?\%/, '');output = numeral._.numberToFormat(value, format, roundingFunction);if (numeral._.includes(output, ')')) {output = output.split('');output.splice(-1, 0, space + '%');output = output.join('');} else {output = output + space + '%';}return output;},unformat: function(string) {return numeral._.stringToNumber(string) * 0.01;}
});// use your custom format
numeral().format('0%');

致谢

Numeral.js虽然不那么复杂,却受到Moment.js的启发并大量借用 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/326464.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sqlserver中常用的几个存储过程

sqlserver中的存储过程&#xff0c;何为存储过程呢&#xff1f; 存储过程&#xff08;Stored Procedure&#xff09;是在大型数据库系统中&#xff0c;一组为了完成特定功能的SQL 语句集&#xff0c;存储在数据库中&#xff0c;经过第一次编译后再次调用不需要再次编译&#x…

java枚举类定义性别_Java 枚举类和自定义枚举类和enum声明及实现接口的操作

1.枚举类注&#xff1a;JDK1.5之前需要自定义枚举类JDK 1.5 新增的 enum 关键字用于定义枚举类若枚举只有一个成员, 则可以作为一种单例模式的实现方式1.枚举类的属性1、枚举类对象的属性不应允许被改动, 所以应该使用 private final 修饰2、枚举类的使用 private final 修饰的…

2020蓝桥杯省赛---java---B---4( 合并检测)

题目描述 思路分析 假设A国有n个人&#xff0c;感染者有n/100 每k个人一组&#xff0c;共n/k组&#xff0c;共用n/k瓶试剂 按照最坏的情况&#xff0c;每多出一个感染者就多用k瓶试剂&#xff0c; 因此共用n/k(n/100)*k瓶试剂 n是定值&#xff0c;所以求(1/kk/100)最小 由于ab…

visual studio 2017发布dotnet core到docker

docker的好处不用多说&#xff0c;有不了解的可移步《docker入门》&#xff0c;作为一个.net方面的老鸟也想早点搭上docker末班车&#xff0c;减少布署中的各种坑。以下我是在Visual Studio 2017正式版发布后&#xff08;其实VS2015也是可以的&#xff09;&#xff0c;完全跑起…

URLSearchParams 接口

转载自 URLSearchParams 接口 URLSearchParams 接口定义了很多个用来处理 URL 参数串的方法。 基本使用方法如下 var paramsString "qURLUtils.searchParams&topicapi" // location.search.slice(1) var searchParams new URLSearchParams(paramsString);s…

JDK环境变量配置

1.变量名&#xff1a; JAVA_HOME 变量值&#xff1a;&#xff08;变量值填写你的jdk的安装目录&#xff0c;例如本人是 E:\Java\jdk1.8.0&#xff09;2.变量名&#xff1a; Path 变量值&#xff1a; ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;3.变量名&#xff1a; CLASSPATH 变量…

2020蓝桥杯省赛---java---B---5( REPEAT 程序)

题目描述 【问题描述】附件 prog.txt 中是一个用某种语言写的程序。其中 REPEAT k 表示一个次数为 k 的循环。循环控制的范围由缩进表达&#xff0c;从次行开始连续的缩进比该行多的&#xff08;前面的空白更长的&#xff09;为循环包含的内容。例如如下片段&#xff1a;REPEA…

java oschina_简单说说 OSChina 的技术架构

OsChina.NET 这个域名是在去年 08年8月16日申请的&#xff0c;然后花了不足一个月的时候开发了第一个版本的OsChina&#xff0c;包含有项目展示、新闻、后台管理、会员注册等功能&#xff0c;以后的每次的改进就没那么集中&#xff0c;有空的话就完善完善一直到今天&#xff0c…

强势解析 eBay BASE 模式、去哪儿及蘑菇街分布式架构

互联网行业是大势所趋&#xff0c;从招聘工资水平即可看出&#xff0c;那么如何提升自我技能&#xff0c;满足互联网行业技能要求&#xff1f;需要以目标为导向&#xff0c;进行技能提升。 本文主要针对分布式系统设计、架构(数据一致性)做了分析&#xff0c;祝各位早日走上属于…

MySQL sum()函数

转载自 MySQL sum()函数 MySQL SUM()函数介绍 SUM()函数用于计算一组值或表达式的总和&#xff0c;SUM()函数的语法如下&#xff1a; SUM(DISTINCT expression)SUM()函数是如何工作的&#xff1f; 如果在没有返回匹配行SELECT语句中使用SUM函数&#xff0c;则SUM函数返回…

利用老毛头启动盘重装win7

注意&#xff1a;请不要跟着本教程一步一步的做&#xff0c;要先看一遍 1&#xff0e;安装win7安装 安装win7系统所需材料&#xff1a; 老毛桃PE系统 下载地址&#xff1a;http://www.laomaotao.tv/如使用其它PE系统也是一样&#xff0c;这里我用老毛桃为例 Win系统镜像…

2020蓝桥杯省赛---java---B---6(分类计数)

题目描述 思路分析 把字符串转换成字符数组 代码实现 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);String str sc.next();char[] temp str.toCharArray();int…

MySQL min()函数

转载自 MySQL min()函数 MySQL MIN函数 MIN()函数返回一组值中的最小值。MIN()函数在某些情况下非常有用&#xff0c;例如找到最小的数字&#xff0c;选择最便宜的产品&#xff0c;获得最低的信用额度等。 以下说明MIN()函数的语法&#xff1a; MIN(DISTINCT expression);…

使用 C# 运行符号测试

若有需前后对比的数据&#xff0c;且要确定某种效果是否有统计依据&#xff0c;最常使用的是符号检验。通过举例可以很好地解释这个原理。 假设你在一家制药公司工作&#xff0c;想要确定一种新型减肥药是否有效。你找来八名志愿者服用这种减肥药长达几周的时间。观察八名实验对…

程序人生

在大家眼里程序员是什么样子的呢&#xff1f;是每天不分日夜的在打代码&#xff1f;还是忙来忙去的帮着被人修电脑&#xff0c;调路由器&#xff1f;还是&#xff1f;或者&#xff1a;哈哈哈&#xff0c;作为一个程序员&#xff0c;我是这样的&#xff1a;下班之后先做饭&#…

2020蓝桥杯省赛---java---B---7(分类计数)

题目描述 代码实现 package com.atguigu.lanqiao;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);long a sc.nextLong();while (a>1){System.out.print(a" ");a/2;}} }

dw怎么在框架中加入网页_怎样使用iframe,在网页中插入页面

首先&#xff0c;我们使用DreamWeaver新建一个站点&#xff0c;将我们需要归纳到一个页面的网页都包含在这个站点里面。然后我们找到一个需要嵌入页面的html文件&#xff0c;使用DW软件打开&#xff0c;找到需要插入页面的位置。3然后我们输入标签。在前半个标签的里面&#xf…

ps中将图片拖不进ps的编辑区的解决方法

今天在学习ps的过程中&#xff0c;发现我的ps怎么和人家老师的不一样&#xff0c;怎么不一样呢&#xff1f;人家老师的ps5中&#xff0c;鼠标可以直接拖到ps的编辑栏中&#xff0c;可是我的死活拖不进去。怎么办&#xff1f;怎么办&#xff1f;经过自己瞎鼓捣和上网查&#xff…

MySQL avg()函数

转载自 MySQL avg()函数 MySQL AVG()函数简介 MySQL AVG()函数是一个聚合函数&#xff0c;它用于计算一组值或表达式的平均值。 AVG()函数的语法如下&#xff1a; AVG(DISTINCT expression)您可以使用AVG()函数中的DISTINCT运算符来计算不同值的平均值。 例如&#xff0c;…

.Net Core迁移到MSBuild的多平台编译问题

一、前言 本篇主要讨论.NET Core应用程序项目结构的主题&#xff0c;重点探索.NET Core应用程序的多平台编译问题&#xff0c;这里指的多平台是指.NET Framework、.NET Core App、.NET Standard、Mono、UWP等多平台的条件编译、项目&#xff08;包&#xff09;引用、编译符号等…