## Format

Solved
Frequent Contributor
Posts: 117

# Format

Hi SAS Experts,

Is there is anyway to get the million format on dollar values. Below is the data and code.

data test;
informat amnt dollar14.;
format amnt dollar14.;
input amnt person\$;
datalines;
196200000 b
1000000 c
2500000 d
1600000 e
;
run;

needed output:

amnt person
196.2M B
1M C
2.5M D
1.6M E

Note: Amnt should be numeric value only.

Thanks & regards,

Sanjay

Accepted Solutions
Solution
‎06-29-2017 08:59 AM
Posts: 3,040

## Re: Format

[ Edited ]

use low - -1 instead of -1 - -45000000, for example

`low - -1 = '0,000,009.9M' (mult=0.00001 prefix='-')`
--
Paige Miller

All Replies
Posts: 3,040

## Re: Format

I created my own picture format for this purpose, you probably want to modify the code below for your exact needs

```proc format;
picture million low-high='0,000,009.9MM' (prefix='\$' mult=.00001);
run;```
--
Paige Miller
Frequent Contributor
Posts: 117

## Re: Format

Hi PaigeMiller,

Thank you for your help, but how can i get the minus values like (-1000000  should be like -1.0).

Posts: 3,040

## Re: Format

Instead of using the same picture for all values low to high, you specify a picture with a minus sign for negative values, and a different picture for positive values, with no minus sign.

--
Paige Miller
Frequent Contributor
Posts: 117

## Re: Format

Ya I tried something like this, but the negative values are resuled in millions(like 1000000) and positive values are resulted in (like 1.0).

proc format;
picture million -1 - -45000000='0,000,009.9M' (mult= -.00001)
1 - high='0,000,009.9M' (mult=.00001);
run;

Solution
‎06-29-2017 08:59 AM
Posts: 3,040

## Re: Format

[ Edited ]

use low - -1 instead of -1 - -45000000, for example

`low - -1 = '0,000,009.9M' (mult=0.00001 prefix='-')`
--
Paige Miller
Frequent Contributor
Posts: 117