sprintf with leading minus sign

14 visualizaciones (últimos 30 días)
Sam
Sam el 27 de Abr. de 2015
Editada: Stephen23 el 5 de Ag. de 2016
I am trying to use SPRINTF to print the following variable's value. How to print it so it does not without the minus sign
>> %This is NOT what I want
>> x=-0.000001; sprintf('%6.2f',x)
ans =
-0.00
>> %This is what I want
ans =
0.00

Respuestas (3)

Udit Gupta
Udit Gupta el 27 de Abr. de 2015
use
sprintf('%6.2f',abs(x))

pfb
pfb el 27 de Abr. de 2015
Not sure you can eliminate the minus sign. I think what you are saying is basically
if(abs(x)<1e-2)
x =0;
end

Christian D
Christian D el 5 de Ag. de 2016
I have the same problem, this minus annoys me.
I think a workaround is using the round or roundn on that numbers.
sprintf('%3.0f',-0.1)
sprintf('%3.0f',round(-0.1))
produces
-0
0
Is there any other solution than that?
  1 comentario
Stephen23
Stephen23 el 5 de Ag. de 2016
Editada: Stephen23 el 5 de Ag. de 2016
"a workaround is using the round"
That is not a workaround: round is the way to round numbers. MATLAB supports negative zero because this is required by IEEE 754, which MATLAB uses for floating point values.

Iniciar sesión para comentar.

Categorías

Más información sobre Workspace Variables and MAT-Files en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by