## How can I get fprintf to show plus sign in front of positive numbers ?

on 21 Apr 2013

### Daniel Shub (view profile)

Hi everyone, How can I get fprintf to show number with its positive sign ?
It shows only negative signs when the number is negative,
Here is the command line that I used:
fprintf('%4.2f + %4.2fX1 + %4.2fX2 + %4.2fX1^2 + %4.2fX1X2 + %4.2fX2^2 \n \n',a1 ,a2 ,a3 ,a4 ,a5 ,a6)
And here is what I got:
15.10 + 5.67X1 + -2.78X2 + 0.71X1^2 + -0.03X1X2 + -0.76X2^2
as you see, I got "+ - number" which is not meaningful.
Regards,
Mohamed Selim

Jan

### Jan (view profile)

on 21 Apr 2013
In a mathematical sense, "a + -b" is meaningful and well-defined.

### Daniel Shub (view profile)

on 21 Apr 2013

So close ... You want %+4.2f
fprintf('%+4.2f%+4.2fX1%+4.2fX2%+4.2fX1^2%+4.2fX1X2%+4.2fX2^2\n\n',a1 ,a2 ,a3 ,a4 ,a5 ,a6)

Jan

### Jan (view profile)

on 21 Apr 2013
+1: This is exactly the job the %+d format has been created for.
MOHAMED

on 21 Apr 2013
Thanks.

### Azzi Abdelmalek (view profile)

on 21 Apr 2013
Edited by Azzi Abdelmalek

### Azzi Abdelmalek (view profile)

on 21 Apr 2013

s=sprintf('%4.2f + %4.2fX1 + %4.2fX2 + %4.2fX1^2 + %4.2fX1X2 + %4.2fX2^2 \n \n',a1 ,a2 ,a3 ,a4 ,a5 ,a6)
regexprep(s,'+ -','-')

Jan

### Jan (view profile)

on 21 Apr 2013
For simple jobs, STRREP is much faster than REGEXPREP.