Ce face std::showpos
Implicit, numerele negative au semnul -, iar cele pozitive nu au semn. După std::showpos, pozitivele primesc +, ceea ce e util pentru diferențe, temperaturi sau variații de preț. Zero apare ca +0.
Rămâne activ până la std::noshowpos. Echivalentul în std::format este {:+}.
Exemple
Exemplul 1: Variația temperaturii
#include <iomanip>
#include <iostream>
int main() {
int variatii[] = {3, -2, 0, 5};
std::cout << std::showpos;
for (int v : variatii) {
std::cout << v << " grade\n";
}
std::cout << std::noshowpos << "Fără semn: " << 3 << '\n';
}
Rezultat
+3 grade
-2 grade
+0 grade
+5 grade
Fără semn: 3
Exemplul 2: Și pentru numere reale
#include <iomanip>
#include <iostream>
int main() {
std::cout << std::showpos << std::fixed << std::setprecision(1);
std::cout << "Leul față de euro: " << 0.4 << "%\n";
std::cout << "Bursa azi: " << -1.27 << "%\n";
}
Rezultat
Leul față de euro: +0.4%
Bursa azi: -1.3%
Greșeli frecvente
- Uiți
std::noshowposși toate numerele de după, inclusiv numerele din texte precum „pagina +2”, primesc semn.
Comenzi înrudite
std::setprecision: Controlează câte cifre sau zecimale au numerele reale afișate, cu fixed și scientific.std::hex: Afișează și citește numerele întregi în baza 16 (hex), 8 (oct) sau 10 (dec).std::format: Construiește un std::string dintr-un șablon cu acolade {} și valori (C++20).