BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
weizhongma
Calcite | Level 5

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

1 ACCEPTED SOLUTION

Accepted Solutions
Jagadishkatam
Amethyst | Level 16

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

Thanks,
Jag

View solution in original post

8 REPLIES 8
Jagadishkatam
Amethyst | Level 16

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

Thanks,
Jag
weizhongma
Calcite | Level 5

Thanks! Jagadish. 

However my data mixed of numbers such as 20, 100 and 0.858369. If there way to wark around? Thanks!


Jagadishkatam
Amethyst | Level 16

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

Thanks,
Jag
data_null__
Jade | Level 19

What about 1.

Jagadishkatam
Amethyst | Level 16

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

Thanks,
Jag
data_null__
Jade | Level 19

What about the sign if the value is negative?

Jagadishkatam
Amethyst | Level 16

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

Thanks,
Jag
data_null__
Jade | Level 19

You need to RTM.  Look for the round option.  You will also need more digit selectors for the larger numbers and what about negative.

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 8 replies
  • 5474 views
  • 0 likes
  • 3 in conversation