Мне нужно принять значение 18.433333333
и вывести его как 18.4
. В то же время мне нужно значение 5
для вывода как 5
.SAS: выводить числовые значения, округленные до одного десятичного знака, за исключением целого числа
Как я могу это сделать?
Все мои номера попадают в диапазон [0, 100]. Таким образом, ширина 4 кажется подходящей. Три для каждого символа числа и один для десятичной. Наилучшим выбором для формата является BESTDw.p
или w.d
.
Если я использую BESTD4.1
то 5
является 5
по желанию, но 18.433333333
является 18
.
Если я использую 4.1
то 18.433333333
является 18.4
по желанию, но 5
является 5.00
.
Это отображается в контексте отчета PROC.
data example;
input
ID $
wd
bestdwp
;
datalines;
1 18.433333333 18.433333333
2 5 5
;
run;
proc report data = example;
column
ID
wd
bestdwp
;
define ID /'ID';
define wd /'w.d' format = 4.1;
define bestdwp/'BESTDw.p' format = bestd4.1;
run;
Выход затем:
BEST
ID w.d Dw.p
1 18.4 18
2 5.0 5
Best4.1 работает в SAS 9.4. Документы кажутся запутанными в отношении этого, хотя я бы и ожидал, что bestD4.1 тоже должен был работать. Мои ответы удаляются, поэтому я также разместил их здесь. – Reeza