我有一个数据集,其中包含许多变量,所有变量的数值均为小数。
A
12.456756
134.677546
1.44563
86.56674998675
我只想在变量中输入两位小数 我使用的是格式,但它只用于显示。
data want;
set have;
format A best5.2;
run;
但是当我将数据集复制到另一个库或Oracle时,它会显示整个十进制值。如何将值仅减少到两位小数?
答案 0 :(得分:3)
使用ROUND()
功能。
data have ;
input A;
cards;
12.456756
134.677546
1.44563
86.56674998675
;
data want ;
set have ;
b = round(a,0.01);
put @5 a @20 b ;
run;
12.456756 12.46
134.677546 134.68
1.44563 1.45
86.566749987 86.57
答案 1 :(得分:0)
一个简单的解决方法是将格式化数值转换为字符值。在另一个数据库中导入时,字符值与任何格式都无关,而只与字符串有关。然后你必须将它转换回数字,但至少其他数据库不需要了解SAS-Formates的一些内容:
data want;
set have (rename=A=Atemp);
A= put(Atemp,best5.2);
drop Atemp;
run;