JSRUN 用代码说话

数字格式

编辑教程

数字格式

SAS可以处理各种数字数据格式。 它在变量名的末尾使用这些格式,以向数据应用特定的数字格式。 SAS使用两种数字格式。 一个用于读取数字数据的特定格式,称为informat,另一个用于显示称为输出格式的特定格式的数字数据。

句法

数字信息的语法是:

Varname Formatnamew.d

以下是使用的参数的描述:

  • VARNAME是变量的名称。
  • FORMATNAME是应用于变量的数字格式的名称。
  • w是允许为变量存储的数据列的最大数量(包括小数点后的数字和小数点本身)。
  • d是小数右边的位数。

读取数字格式

下面是用于将数据读入SAS的格式列表。

输入数字格式

格式 使用
n. 最大“n”个没有小数点的列数。
n.p 最多“n”个带“p”小数点的列数。
COMMAn.p COMMAn.p最大“n”个具有“p”小数位的列,删除任何逗号或美元符号。
COMMAn.p COMMAn.p最大“n”个具有“p”小数位的列,删除任何逗号或美元符号。

显示数字格式

类似于在读取数据时应用格式,以下是用于在SAS程序的输出中显示数据的格式的列表。

输出数字格式

n. 写入最大“n”位数,不带小数点。
n.p 写入最大“n.p”个带“p”小数点的列数。
DOLLARn.p 使用p个小数位数写入最大“n”列,前面带有美元符号,在第千个位置使用逗号。

注意:

  • 如果小数点后的位数小于格式说明符,则在结尾处附加零。
  • 如果小数点后的位数大于格式说明符,则最后一位数字将四舍五入。

例子

下面的例子说明了上述情况。

DATA MYDATA1;
input x 6.; /*数据的最大宽度*/
format x 6.3;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA1;
RUN;

DATA MYDATA2;
input x 6.; /*数据的最大宽度*/
format x 5.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA=MYDATA2;
RUN;
DATA MYDATA3;
input x 6.; /*数据的最大宽度*/
format x DOLLAR10.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA=MYDATA3;
RUN;

当我们执行上面的代码,它会产生以下结果:

# MYDATA1.
Obs     x
1     8722.0 # 显示6个十进制后附加零的列。
2     93.200 # 显示6个小数后附加零的列。
3     0.112  # 十进制之前没有整数,因此在十进制后显示3个可用数字。
4     15.116 # 显示6个十进制后有3位可用数字的列。

# MYDATA2
Obs     x
1     8722  # 显示5列。 只有4个可用。
2     93.20 # 显示5个十进制后附加零的列。
3     0.11  # 显示5个小数点后2位的列。
4     15.12 # 显示5个小数点后2位的列。

# MYDATA3
Obs     x
1     $8,722.00 # 显示10列带有$符号,逗号在第千个位置,零在十进制后附加。
2     $93.20    # 只有两个整数在十进制之前可用,一个可用在十进制之后。
3     $0.11      # 十进制之前没有整数,十进制后有两个可用。
4     $15.12    # 只有两个整数在十进制之前可用,两个可用在十进制之后。
JSRUN闪电教程系统是国内最先开创的教程维护系统, 所有工程师都可以参与共同维护的闪电教程,让知识的积累变得统一完整、自成体系。 大家可以一起参与进共编,让零散的知识点帮助更多的人。
X
支付宝
9.99
无法付款,请点击这里
金额: 0
备注:
转账时请填写正确的金额和备注信息,到账由人工处理,可能需要较长时间
如有疑问请联系QQ:565830900
正在生成二维码, 此过程可能需要15秒钟