Formatting SAS中的舍入和格式化

Formatting SAS中的舍入和格式化,formatting,sas,Formatting,Sas,我通过put函数将数字变量(p值)转换为字符变量。我想保留pvaluew.d格式在显示时对“大多数格式的使用,因此不需要进行舍入 data _null_; do x=.00004,.00006,.00014,.00016; y=round(x,.0001); put x= pvalue6.4 y= pvalue6.4; end; run; 这两个过程之间的唯一区别是pvalue格式将.0005到.000999之间的数字显示为“谢谢您的解释”。SAS是否总是在put函数中自动四舍

我通过put函数将数字变量(p值)转换为字符变量。我想保留pvaluew.d格式在显示时对“大多数格式的使用,因此不需要进行舍入

data _null_;
 do x=.00004,.00006,.00014,.00016;
   y=round(x,.0001);
   put x= pvalue6.4 y= pvalue6.4;
 end;
run;

这两个过程之间的唯一区别是
pvalue
格式将.0005到.000999之间的数字显示为“谢谢您的解释”。SAS是否总是在put函数中自动四舍五入为d符号数字,或者是否添加了此功能?四舍五入因格式而异,但就我所知,它总是(至少在v9中)以数字格式进行。图片格式默认为不舍入,但大多数内置图片格式(如
pvalue
)都舍入。我发现了一些有趣的东西。如果我在负数上使用put函数(具有正常的w.d格式)而没有舍入函数,并且它被舍入为零,那么负数似乎仍然显示,例如-0.0000。
newvar2=put(oldvar,pvalue6.4);
data _null_;
 do x=.00004,.00006,.00014,.00016;
   y=round(x,.0001);
   put x= pvalue6.4 y= pvalue6.4;
 end;
run;