It always returns biggest decimal places value. In following example it always returns 4 decimal places.

```
     SELECT
     CASE 
     WHEN 1 = 1 THEN  ISNULL(CAST(1000 AS FLOAT), -1) 
     WHEN 1 = 2  THEN ISNULL(CAST(0.00400 AS NUMERIC(13, 4)), -1) 
     ELSE ISNULL(CAST(0.00400 AS NUMERIC(13, 1)), -1) END 

```