Troncare un float senza arrotondarlo

di Anonimizzato15047 il
4 risposte
Salve, sono nuovo del forum e volevo sottoporvi alcune domande;

sto svolgendo degli esercizi per un corso all'università, ed in uno in particolare vorrei che il float che inserisco in ingresso venga visualizzato in uscita senza però che vengano arrotondate le cifre dopo la virgola. Vorrei cioè che venissero solo troncate: 7.12345678--->7.123456 e non 7.123457

Vi posto il codice così magari riuscite a capire meglio.

#include <iostream>
using namespace std;
#include <iomanip>

int main() {
	float x;
	cout<<"Inserire un numero di tipo float: ";
	cin>>x;
	cout<<"Il numero inserito diventa: "<<fixed<<setprecision(1)<<x<<endl;
	cout<<"Il numero inserito diventa: "<<fixed<<setprecision(2)<<x<<endl;
	cout<<"Il numero inserito diventa: "<<fixed<<setprecision(3)<<x<<endl;
	cout<<"Il numero inserito diventa: "<<fixed<<setprecision(4)<<x<<endl;
	cout<<"Il numero inserito diventa: "<<fixed<<setprecision(5)<<x<<endl;
	cout<<"Il numero inserito diventa: "<<fixed<<setprecision(6)<<x<<endl;
	return 0;
}
Vi ringrazio in anticipo.

A presto

4 Risposte

  • Moltiplichi il valore per 10,100,1000... lo trasformi in intero e poi lo ritrasformi in float e lo dividi per 10,100,1000
  • Ti ringrazio, funziona alla perfezione!!
    Posso sapere come mai si utilizza questo procedimento? Non esiste una funzione apposita?
  • Posso sapere come mai si utilizza questo procedimento?
    E' la prima cosa che mi è venuta in mente, di sicuro non è l'unico modo prova magari a pensare anche a qualche altro sistema...
    Non esiste una funzione apposita?
    Non lo so se esiste (che io sappia no) ma ad ogni modo potresti scrivere una tua funzione per svolgere questo compito.
  • Perfetto!! Grazie mille
Devi accedere o registrarti per scrivere nel forum
4 risposte