全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
13754 2
2016-12-06
悬赏 35 个论坛币 已解决
如题.  很简单直白的问题.


1. 假设我输入a=3; 但是求出来length(a)=12, 为什么? length到底几个意思??
输入a=12345678965656464, length(a)依然=12.  为什么?


2. 假设输入a='3', 得到length(a)=1
          输入a='33' , 得到length(a)=2
为什么这里的length就变化了, 而第1中的死性不改??  几个意思?


3. 查看数据结构
假设数据集dataname有如下数据
     a='33';
     b=3;
     c=1234567964646546464644;
proc contents data=dataname;run
显示 a的长度为2
       b的长度为8
       c的长度为 8


那么它的长度到底是多少了? 考试的时候问the length of the varibale 我应该用哪个长度??


我发现有的题采用length而有的题采用contents.  这要我怎么办啊??


length的长度与contents中的长度分别代表了什么呢??


谢谢!!MUA!





最佳答案

prince315 查看完整内容

length函数求长度: 对字符型,返回的是字符的实际长度,但是尾部的连续空格是不会计入计算的;但例外是字符的空值,即为一个空格,length返回值是1; 对数值型,length返回的是数值类型占据的存储空间,是预定义好的,比如8或者12,默认是8。比如不管你数字是1还是111还是10W,他都用8个字节来存储这个数字。 而Contents中间的length,则是一个属性,与具体取值无关,反应的就类似于这个字段的定义长度,比如字符型默认应该也 ...
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-12-6 15:44:45
length函数求长度:
对字符型,返回的是字符的实际长度,但是尾部的连续空格是不会计入计算的;但例外是字符的空值,即为一个空格,length返回值是1;
对数值型,length返回的是数值类型占据的存储空间,是预定义好的,比如8或者12,默认是8。比如不管你数字是1还是111还是10W,他都用8个字节来存储这个数字。

而Contents中间的length,则是一个属性,与具体取值无关,反应的就类似于这个字段的定义长度,比如字符型默认应该也是8位,即最多保存8个字符,当然实际每个观测中的值可能为1位或者空值。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-12-7 09:10:34
length(str)
Returns the length of a string, not counting trailing spaces,
returning 1 if str is an empty string or a string of one or more
spaces. If str is a number, length returns 12 and logs a note
that numbers have been converted to characters.

对于contents中的长度,数值型默认8位,字符型该几位就是几位
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群