---
order: 2.5
navTitle: 显示格式
---
# 显示格式

**显示格式**用于控制不同类型数据（包括数字、日期等）的格式化显示，通过设置合适的显示格式可以使页面的数据更加清晰易懂。产品支持页面级别、应用级别、项目级别和系统全局的设置，详细内容参考文档[显示格式](../project-manage/display-format.md)。本文将重点解析显示格式的语法规范，包括[数字](#number)、[日期](#data)、[时间](#data)等的语法规范与语法示例。

## 数字{#number}

### 语法规范{#number-grammar}

|	代码	|	含义	|
|	----	|	----	|
|	0	|	如果数字的位数少于格式中的0会补0，如显示格式设置为00.00，原值是8.9时，显示值为08.90	|
|	#	|	如果数字在小数的两侧位数少于格式中的#符号时，不会补0	|
|	?	|	如果数字的位数少于格式中的?会补空格，以便小数点在列中对齐	|
|	,	|	千位分隔符：逗号（,）。在数字中每隔三位插入一个分隔符，以便快速识别数字的位数和数量级	|
|	e或E	|	科学计数法，如：E-、E+、e-、e+	|
|	\[DBNum1]	|	中文小写数字	|
|	\[DBNum2]	|	中文大写数字	|
|	！	|	表示其后的是一个字符，和千位分隔符等结合使用可以实现万元的效果	|
|	rmb	|	格式化人民币（大写）,SuccBI特有的，等价于`金山文档：[dbnum1][$RMB]`,`Excel：[>0][dbnum2]G/通用格式元;;;`	|
|	正数;负数;0;字符串	|	由`;`隔开，从左至右依次表示正数、负数、0、字符串的显示格式	|

### 语法示例{#number-example}

|	格式代码	|	含义	|	原值	|	显示结果	|
|	----	|	----	|	----	 |	----	|
|	00.00	|	如果数字的位数少于格式中的0会补0	|	8.9	|	08.90	|
|	#.##	|	如果数字在小数的两侧位数少于格式中的#符号时，不会补0	|	8.9	|	8.9	|
|	??.??	|	如果数字的位数少于格式中的?会补空格	| 8.9	|	`(空格)8.9(空格)`	|
|	#,	|	单位换算，实际值为12000，显示为12	|	12000	|	12	|
|	#,###,	|	单位换算，实际值为1000，显示为1	|	1000	|	1	|
|	#,##	|	千位分隔符	|	1000	|	1,000	|
|	#,###	|	千位分隔符	|	12000	|	12,000	|
|	0.000	|	三位小数	|	1000.12	|	1000.120	|
|	#,##0.000	|	千位分隔符且保留3位小数	|	1000.12	|	1,000.120	|
| 	####.#	|	四舍五入保留一位小数	|	1234.59	|	1234.6	|
|	#.000	|	显示三位小数	|	8.9	|	8.900	|
|	0.#	|	四舍五入保留一位小数	|	.631	|	0.6	|
|	0.0,,	|	单位换算，实际值为12200000，显示为12.2	|	12200000	|	12.2	|
|	0.000%	|	百分比保留3位小数	|	10.12%	|	10.120%	|
|	0%	|	百分比不保留小数位	|	10.12%	|	10%	|
|	0.00E+00	|	科学计数法，如：E-、E+、e-、e+	|	12,200,000	|	1.22E+07	|
|	0.00E-00	|	科学计数法，如：E-、E+、e-、e+	|	12,200,000	|	1.22E07	|
|	#0.0E+0		|	科学计数法，如：E-、E+、e-、e+	|	12,200,000	|	1.2E+7	|
|	\[DBNum1]	|	中文小写数字	|	1000.12	|	一千.一二	|
|	\[DBNum2]	|	中文大写数字	|	1000.12	|	壹仟.壹贰	|
|	0.00"元"	|	数值末尾加单位，如加“元”	|	1000.12	|	1000.12元	|
|	$@"美元"	|	数值末尾加单位，如加“美元”	|	2300	|	$2300美元	|
|	#,###,0.00,"千元"	|	单位换算为千且保留两位小数，实际值为1000，显示1.00千元	|	1000	|	1.00千元	|
|	0!.0,"万元"	|	单位换算为万元，实际值为11000，显示为1.1万元	|	11000	|	1.1万元	|
|	0!.00,,"亿元"	|	单位换算为亿元且保留两位小数，实际值为110000000，显示为1.10亿元	|	110000000	|	1.10亿元	|
|	0.00!"元\\"	|	输出双引号"	|	1000.12	|	1000.12"元"	|
|	rmb	|	格式化人民币（大写）,SuccBI特有的,`金山文档：[dbnum1][$RMB]`,`Excel：[>0][dbnum2]G/通用格式元;;;`	|	1234.56	|	壹仟贰佰叁拾肆元伍角陆分	|
|	0.00;-0.00;#		|	0显示为空，数值显示值保留两位小数，如实际值为0，显示值为空；实际值为-1.1，显示值为-1.10；实际值为2.2233，实际值为2.22	|	-1.1	|	-1.10	|
|	0.00;-0.00;0;"0"		|	0和字符串（包括空）都显示为0，数值显示值保留两位小数，如实际值为空，显示值为0；实际值为0，显示值为0；实际值为`abc`，显示值为0；实际值为2.2233，实际值为2.22	|	（空）	|	0	|

## 日期{#data}

### 语法规范{#date-grammar}

|	代码	|	含义	|
|	----	|	----	|
|	yyyy	|	将年显示为四位数字	|
|	yy	|	将年显示为两位数字	|
|	q	|	将日期显示为季度	|
|	m	|	将月显示为不带前导零的数字	|
|	d	|	将日显示为不带前导零的数字	|
|	dd	|	根据需要将日显示为带前导零的数字	|
|	ddd	|	将日显示为缩写形式（Sun 到 Sat）	|
|	dddd	|	将日显示为完整名称（Sunday 到 Saturday）	|

### 语法示例{#date-example}

|	格式代码	|	含义	|	原值	|	显示结果	|
|	----	|	----	|	----	 |	----	|
|	yyyy/mm/dd	|	日期	|	19700101	|	1970/01/01	|
|	yyyy年q季度	|	年份与季度	|	19700101	|	1970年1季度	|
|	ddd	|	星期缩写	|	19700101	|	Thu	|
|	dddd	|	星期	|	19700101	|	Thursday	|

## 时间{#time}

### 语法规范{#time-grammar}

|	代码	|	含义	|
|	----	|	----	|
|	h	|	将小时显示为不带前导零的数字	|
|	hh	|	根据需要将小时显示为带前导零的数字。如果格式包含AM或PM，则时间采用12小时制。否则，时间将采用24小时制	|
|	m	|	将分钟显示为不带前导零的数字。注意:m或mm代码必须紧跟在h或hh代码之后，或后面紧接ss代码；否则，Excel将显示月份而不是分钟数。	|
|	mm	|	根据需要将分钟显示为带前导零的数字	|
|	s	|	将秒显示为不带前导零的数字	|
|	ss	|	根据需要将秒显示为带前导零的数字	|
|	AM/PM	|	使用 12 小时制显示小时	|
|	am/pm	|	使用 12 小时制显示小时	|
|	000	|	秒的小数位，Excel只能精确到毫秒，有的数据库可以到微秒	|

### 语法示例{#time-example}

|	格式代码	|	含义	|	原值	|	显示结果	|
|	----	|	----	|	----	 |	----	|
|	yyyy/mm/dd hh:mm:ss	|	日期	|	now()	|	2025/08/18 14:47:56	|
|	`h:m:s`	|	获取时分秒，无需补0	|	09:03:06	|	9:3:6	|
|	hh:mm:ss	|	获取时分秒，每个部分用两位数字显示，不足两位时在前面补0	|	09:03:06	|	09:03:06	|
|	hh:mm:ss AM/PM	|	使用 12 小时制显示小时	|	13:03:33	|	01:03:33 PM	|
|	hh:mm:ss am/pm	|	使用 12 小时制显示小时	|	13:03:33	|	01:03:33 PM	|
|	hh:mm:ss.000	|	显示时刻，精确到毫秒	|	now()	|	14:47:56.845	|

## 转义{#escape}

### 语法规范{#escape-grammar}

|	代码	|	含义	|
|	----	|	----	|
|	"字符"	|	双引号内的字符原样显示，如设置显示格式为"#\n"#,###，原值是1000时，显示值为#\n1,000	|
|	\单个字符	|	\右侧单个字符原样显示，如设置显示格式为`\#\\n#,###`，原值是1000，显示值为#\n1,000	|

### 语法示例{#escape-example}

|	格式代码	|	含义	|	原值	|	显示结果	|
|	----	|	----	|	----	 |	----	|
|	"#\n"#,###	|	使用千分符隔开数字并在开头加#\n	|	1000	|	#\n1,000	|
|	`\#\\n#,###`	|	使用千分符隔开数字并在开头加#\n	|	1000	|	#\n1,000	|
|	`\"@\"`		|	单元格内容的开头和结尾分别加上`"`	|	HelloWorld!	|	"HelloWorld!"	|

## 维项{#dimension}

### 语法规范{#dimension-grammar}

|	格式代码	|	含义	|
|	---	|	---	|
|	@	|	当前值	|
|	@txt	|	维文本	|
|	@ @txt	|	原值 维文本	|

### 语法示例{#dimension-example}

|	格式代码	|	含义	|	原值	|	显示结果	|
|	----	|	----	|	----	 |	----	|
|	@(@txt)	|	原值(维文本)，如展示行政区划代码字段，该字段关联行政区划维表，维表主键设置文字字段为行政区划名称，则显示内容为行政区划代码(行政区划名称)	|	420000	 |	420000(湖北省)	|

<!-- 
### 分数{#fraction}

|	格式代码	|	含义		|	原值	|	显示结果	|
|	----	|	----	|	---				|		---				|
|	# ?/?	|	分母为一位数	|	0.23	|	2/9	|
|	# ??/??	|	分母为两位数	|	0.23	|	3/13	|
|	# ???/???	|	分母为三位数	|	0.23	|	23/100	|
|	# ?/2	|	以2为分母	|	0.23	|	0	|
|	# ?/4	|	以4为分母	|	0.23	|	1/4	|
|	# ?/8	|	以8为分母	|	0.23	|	2/8	| 
-->

## 使用场景{#usage-scenario}

产品里针对不同的数据类型内置了一些常见的显示格式供直接选择使用，也可以根据需求添加自定义显示格式。同时，显示格式语法也用于[TOSTR函数](./func/transform/TOSTR.md)控制数据输出格式。以下是仪表板中添加和管理自定义显示格式的过程示例，在报表、Superpage中也是类似过程。

![使用场景](./images/2024-03-06-00-00-01.png)

### 添加自定义格式{#custom}

点击**添加自定义格式**弹出新增显示格式对话框：

1. 格式编号：自定义该显示格式的格式编号
2. 格式名称：自定义该显示格式的格式名称
3. 格式：输入该显示格式的格式表达式
4. 预览：添加格式后可以预览格式效果

如图为添加显示格式**1位小数**：

![添加自定义格式](./images/2019-12-04-11-55-49.png)

### 管理自定义格式{#manage}

点击**管理自定义格式**弹出管理显示格式对话框：

**管理自定义格式**中有三个属性：

1. 新增：新增显示格式
2. 修改：修改已有的显示格式
3. 删除：删除已存在的显示格式

![管理自定义格式](./images/2019-12-04-11-57-41.png)
