showing unit using fprintf

11 visualizzazioni (ultimi 30 giorni)
Ysabelle Ngo
Ysabelle Ngo il 7 Mag 2020
Modificato: Stephen23 il 8 Mag 2020
How can I use fprintf to show the unit cm without it looking like cm^2 ? I tried making unit=cm^2 but it just says cm is an unrecognized variable.
W = 0;
for i = 1:3
L = 1 ;
W = W+1 ;
A = (L*W);
unit = 1*(cm^2);
fprintf ('Length: %d\n', L)
fprintf ('Width: %d\n', W)
if L == W
disp ('The shape is square')
else
disp ('The shape is rectangle')
end
fprintf ('The area of the shape is: %.2f cm^2 \n', A)
disp (' ')
end

Risposta accettata

Stephen23
Stephen23 il 7 Mag 2020
Modificato: Stephen23 il 8 Mag 2020
fprintf and sprintf do not generate formatted text based on markup (like LaTeX or XML). Their output is pure text, and pure text does not store any formatting information at all (no color, no size, no typeface, no superscript, etc.). Pure text is just characters in a row, it is entirely up to the displaying application to decide how they should look like.
But luckily for you, one of the characters Unicode supports is "Superscript Two" (U+00B2), and because (recent versions of) MATLAB use Unicode to represent text characters, this character is easy to include in the fprintf format string using the \xH syntax given in the fprintf documentation:
>> fprintf('%.3f cm\xB2\n',pi)
3.142 cm²

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by