vue-text-format 一个功能强大的vue自定义格式扩展 vue插件

插件介绍

用过excel格式设置的人,都了解excel格式定义功能的强大,几乎所有想要的格式,都可以设置。

image

因为前端也需要一个功能全的自定义格式扩展,vue-text-format这个扩展移植了excel的功能,可以在页面上方便的对数据改变显示格式。
使用方式也很简单,通过扩展vue的自定义命令v-format的形式,绑定格式,就可以将内部的文本进行转换。

使用方法

安装

npm install vue-text-format

import Vue from 'vue'
import format from 'vue-text-format';
Vue.use(format);

使用

方式1:指令v-format
通过v-format传入想要转换的格式

<div v-format="'0.##%'">0.123</div>

方式2:函数调用,vue原型上绑定了一个textFormat函数

export default {
    name: 'home',
    mounted() {
        let newVal = this.textFormat(0.123, '0.##%');
        // 将获得12.3%
    }
}

示例

通过v-format传入想要转换的格式,我们通过几个例子,让你了解一下这个格式代码功能到底有多全多强大


<div v-format="'0.##%'">0.123</div>
<!--最终显示的值是 【12.3%】转换百分比 -->

<div v-format="'0.00%'">0.123</div>
<!--最终显示的值是 【12.30%】 转换百分比,控制占位符-->

<div v-format="'#,##0.00'">1200000</div>
<!--最终显示的值是 【1,200,000.00】千分位 -->

<div v-format="'¥#,##0.00'">1200000</div>
<!--最终显示的值是 【¥1,200,000.00】前缀 -->

<div v-format="'0.00E+00'">1200000</div>
<!--最终显示的值是 【1.20E+06】科学计数法,有占位符 -->

<div v-format="'0.##E+##'">1200000</div>
<!--最终显示的值是 【1.2E+6】科学计数法,无有占位符 -->

<div v-format="'0000-00-00'">20180512</div>
<!--最终显示的值是 【2018-05-12】改变格式-->

<div v-format="'000-0000-0000'">13812345678</div>
<!--最终显示的值是 【138-1234-5678】手机号-->

<div v-format="'YYYY-MM-DD'">1562838244</div>
<!--最终显示的值是 【2019-07-11】时间-->

<div v-format="'??/??'">0.28</div>
<!--最终显示的值是 【7/25】两位数分母的近似分数-->

<div v-format="'?/?'">0.28</div>
<!--最终显示的值是 【2/7】一位数分母的近似分数-->

格式编码是一套完整的声明逻辑,可以通过组合扩展无限的显示方式,下面有完整的讲解,如果您觉得复杂,也可以有多种简单的使用方式。

1、excel里copy

您可以在excel里copy过来您需要的格式编码,就像文章开头的图片一样,剩下的就交给vue-text-format去做就好了。excel中功能的位置,单击“格式”菜单中的“单元格”命令,然后单击“数字”选项卡。选完想要的格式,切换到自定义就会出现它的格式。

2、常用代码事例

在后面的讲解中,都给了一些demo,通过copy和简单的组装这些demo,就能解决绝大部分问题。

格式编码介绍

如果你做一些更定制的格式,就需要了解一下格式编码声明,当然也可以看任何一篇excel自定义格式的文章

1、【 # 】数字占位符

只显有意义的零而不显示无意义的零。小数点后数字如大于”#”的数量,则按”#”的位数四舍五入。

代码 数字 显示
###.## 12.1 12.1
###.## 12.1263 12.13

2、【 0 】数字占位符

如果单元格的内容大于占位符,则显示实际数字,如果小于点位符的数量,则用0补足。

代码 数字 显示 备注
00000 1234567 1234567
00000 123 00123
00.000 100.14 100.140
00.000 1.1 01.100

3、【 ? 】数字占位符

在小数点两边为无意义的零添加空格,以便当按固定宽度时,小数点可对齐,另外还用于对不等到长数字的分数
例:代码:【??.??】12.121 显示为【12.12】
例:代码:【???.???】12.121 显示为【 12.121】左侧有一个填充空格
例:代码:【???.????】12.121 显示为【 12.121 】左右各一个填充空格

代码 数字 显示
??.?? 12.121 12.12
???.??? 12.121 【 12.121】填充空格
???.???? 12.121 【 12.121 】填充空格

4、【 % 】百分比

“%”:百分比。
例:代码“#%”。“0.1”显示为“10%”

代码 数字 显示
#% 0.1 10%
#.#% 0.131 13.1%
#.##% 0.131 13.1%
#.#0% 0.131 13.10%

5、【 , 】:千位分隔符

代码 文本 显示
#,### 12000 12,000

如时在代码中“,”之后为空,则把原来的数字缩小1000倍。

代码 文本 显示 备注
#, 10000 10
#,"k" 123123 123k
#,, 1000000 1
0,.# 12345 12.3
#.00, 12345 12.35 设置千元显示且四舍五入保留两位小数
"人民币 "#,##0,,"百万" 1234567890 人民币 1,235百万

6、正负零区分显示

正数格式;负数格式;零格式;文本格式

在自定义格式代码中,最多可以指定四个节;每个节之间用分号进行分隔,这四个节顺序定义了格式中的正数、负数、零和文本。
如果用户在表达方式中只指定两个节,则第一部分用于表示正数和零,第二部分用于表示负数。如果用户在表达方式中只指定了一个节,那么所有数字都会使用该格式。如果在表达方式中要跳过某一节,则对该节仅使用分号即可。

代码 文本 显示
#;-#;"空" 1 1
#;-#;"空" 0
#;-#;"空" -1 -1

7、科学计数法

代码 文本 显示
0.##E+## 1200000 1.2E+6
0.00E+00 1200000 1.20E+06

8、【 @ 】文本占位符

如果只使用单个@,作用是引用原始文本

代码 文本 显示
"集团"@"部" 财务 集团财务部

如果使用多个@,则可以重复文本。

代码 文本 显示
@@@ 财务 财务财务财务

9、【 * 】用 * 后面跟着的字符,重复直到充满空余列宽

代码 文本 显示
@*- ABC ABC--------------
¥*-# 123123 ¥----------123123

可就用于仿真密码保护

代码 文本 显示
** 123 ************

10、【 \ 】和【""】用这种格式显示下一个字符。

"文本",显示双引号里面的文本。
“\”:显示下一个字符,和【"文本"】用途相同

代码 文本 显示
#\元 123123 123123元
#"人民币" 123123 123123人民币

11、【 [颜色] 】

用指定的颜色显示字符。可有八种颜色可选:红色、黑色、黄色,绿色、白色、兰色、青色和洋红。
例:代码:“[青色];[红色];[黄色];[兰色]”。显示结果为正数为青色,负数显示红色,零显示黄色,文本则显示为兰色
[颜色N]:是调用调色板中颜色,N是0~56之间的整数。
例:代码:“[颜色3]”。单元格显示的颜色为调色板上第3种颜色。

代码 文本 显示
#,##0.00;[蓝色]-#,##0.00 1 1
#,##0.00;[蓝色]-#,##0.00 -1 -1(蓝色)

12、条件

可以单元格内容判断后再设置格式,判断逻辑放到[ ]中括号里,例如[>1]代表>1的情况。条件格式化只限于使用三个条件,其中两个条件是明确的,另个是“所有的其他”。条件要放到方括号中。必须进行简单的比较。

代码 文本 显示
[>1]"上升";[=1]"持平";"下降" 1.2 上升
[>1]"上升";[=1]"持平";"下降" 1 持平
[>1]"上升";[=1]"持平";"下降" 0.8 下降
[>1][绿色];[=1][黄色];[红色] 1.2 1.2 (绿色)
[>1][绿色];[=1][黄色];[红色] 1 1 (黄色)
[>1][绿色];[=1][黄色];[红色] 0.8 0.8 (红色)

可以使用的运算符有:

运算符 含义
= 等于
> 大于
< 小于
>= 大于等于
<= 小于等于
<> 不等于

13、 【 ! 】转义字符

由于引号是代码常用的符号。在单元格中是无法用【"】来显示出来“"”。要想显示出来,须在前加入“!” 【!"】
例:代码:【!"#!"】。【10】显示【"10"】

代码 文本 显示
!"#!" 10 "10"

14、时间和日期代码

常用日期和时间代码,绑定的是10位或13位的时间戳
“YYYY”或“YY”:按四位(1900~9999)或两位(00~99)显示年

“MM”或“M”:以两位(01~12)或一位(1~12)表示月。

“DD”或“D”:以两位(01~31)或一位(1~31)来表示天。

例:代码:“YYYY-MM-DD”。2005年1月10日显示为:“2005-01-10”

例:代码:“YY-M-D”。2005年10月10日显示为:“05-1-10”

“AAAA”:日期显示为星期。

“H”或“HH”:以一位(0~23)或两位(01~23)显示小时

“m”或“mm”:以一位(0~59)或两位(01~59)显示分钟

“s”或“ss”:以一位(0~59)或两位(01~59)显示秒

例:

代码 文本 显示
YYYY-MM-DD 1562838244 2019-07-11
YY-MM-DD 1562838244 19-07-11
HH:mm:ss 1562838244 17:44:04

15、【 _ 】:显示一个和【_】符号下一个“文本”同等宽度的空格

代码 文本 显示
#_圆圆 123123 123123   圆

结尾

希望大家在需要的时候多多使用,也可以去下载源码共同学习
源码地址是
https://github.com/13601313270/vue-format
也可以加微信交流
微信号309568486

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,406评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,732评论 3 393
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,711评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,380评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,432评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,301评论 1 301
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,145评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,008评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,443评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,649评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,795评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,501评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,119评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,731评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,865评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,899评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,724评论 2 354

推荐阅读更多精彩内容

  • excel单元格自定义格式1 代码结构组成代码码分为四个部分,中间用“;”号分隔,具体如下:正数格式;负数格式;零...
    木先生is澜阅读 7,485评论 0 3
  • 文|仟樱雪 数据分析工具与时俱进,Python、R语言、SQL、Excel等等,但Excel作为基础软件,仍旧是基...
    仟樱雪阅读 5,539评论 3 12
  • 转自链接 目录 1.认识NPOI 2.使用NPOI生成xls文件 2.1创建基本内容 2.1.1创建Workboo...
    腿毛裤阅读 10,553评论 1 3
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,381评论 0 5
  • 他乡无所有,聊赠一枝春丨简书交友新年礼物交换会,快来和我交换礼物吧 一双骑行的手套 在共享单车流行之前,有桩刷卡单...
    克靖阅读 313评论 2 0