- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
I used following syntex to format the number to percentage. However for number of 0.858369, it gives 85%. Is there a way to get correct percetage of 0.85%?
proc format library = fmt;
picture pctfmt low-high='000.00%';
run;
Thanks!
Regards,
Weizhong
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please try the below picture format
proc format;
picture val low-high='9.99%';
run;
data class;
val=put(0.858369,val.);
run;
Thanks,
Jagadish
Jag
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Please try the below picture format
proc format;
picture val low-high='9.99%';
run;
data class;
val=put(0.858369,val.);
run;
Thanks,
Jagadish
Jag
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thanks! Jagadish.
However my data mixed of numbers such as 20, 100 and 0.858369. If there way to wark around? Thanks!
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
in that case you can use the below picture format
proc format fmtlib;
picture val low-<1='9.99%'
1<-high='009%';
run;
Thanks,
Jagadish
Jag
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
What about 1.
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you data_null_, please find below my corrected code
proc format fmtlib;
picture val low-<1='9.99%'
1-high='009%';
run;
Thanks,
Jagadish
Jag
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
What about the sign if the value is negative?
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
Thank you data_null_, updated the picture format to consider the negative values
proc format fmtlib;
picture val low-<0='09.99%' (prefix='-')
0-<1='09.99%'
1-high='009%';
run;
Thanks,
Jagadish
Jag
- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content
You need to RTM. Look for the round option. You will also need more digit selectors for the larger numbers and what about negative.