b******y 发帖数: 499 | 1 BASE 123里的一道题:
data retail;
cost='20000';
total=.10*cost;
run;
which one of the following is the value of variable TOTAL?
正确答案是2000.为什么呢?COST被赋值是加单引号的,说明是char类型,char不是不
能进行运算吗?新手的问题,大家见笑了。 |
z**********i 发帖数: 12276 | 2 check the log file.
character value have been converted to numeric...
还有一个常见的trick.
(char var)*1 就转换成numeric了.
【在 b******y 的大作中提到】 : BASE 123里的一道题: : data retail; : cost='20000'; : total=.10*cost; : run; : which one of the following is the value of variable TOTAL? : 正确答案是2000.为什么呢?COST被赋值是加单引号的,说明是char类型,char不是不 : 能进行运算吗?新手的问题,大家见笑了。
|
w*****8 发帖数: 395 | 3 yes, it sure is.
SAS automatically converts char to numberic while doing calculation, so the
value of cost is 20000 ==> total=0.10*20000=2000;
【在 b******y 的大作中提到】 : BASE 123里的一道题: : data retail; : cost='20000'; : total=.10*cost; : run; : which one of the following is the value of variable TOTAL? : 正确答案是2000.为什么呢?COST被赋值是加单引号的,说明是char类型,char不是不 : 能进行运算吗?新手的问题,大家见笑了。
|
b******y 发帖数: 499 | 4 多谢以上两位答复。这些知识都在哪里学到的?LITTLE SAS BOOK上没有,如果不是靠
问人真没法知道。 |
P****D 发帖数: 11146 | 5 这个trick是很有用。
补充一点:*1比+0运算速度要慢,推荐用+0。
【在 z**********i 的大作中提到】 : check the log file. : character value have been converted to numeric... : 还有一个常见的trick. : (char var)*1 就转换成numeric了.
|
z**********i 发帖数: 12276 | 6 谢谢补充.
【在 P****D 的大作中提到】 : 这个trick是很有用。 : 补充一点:*1比+0运算速度要慢,推荐用+0。
|