Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148

    [c]sintassi codice %2.2f

    se tra le righe di codice trovo:

    printf("valore trovato %2.2f", valore)

    il numero '2.2' messo tra '%' e 'f', cosa indica? cosa vuol dire?

  2. #2
    Quel 2.2 indica il formato con cui verra stampato il numero (nel tuo caso un numero in virgola mobile).
    Il numero prima del punto indica il massimo numero di cifre (inclusa la vorgola) di cui il numero stesso può essere costituito; il numero dopo il punto indica invece quante cifre dopo la virgola vuoi visualizzare.
    es.
    da un'operazione ottieni un risultato del genere: 65,324598
    e tu vuoi stamparlo semplicemente con solo tre cifre dopo la virgola: 65,325 (ricorda che il c esegue anche l'arrotondamento).
    per fare questo ti basta semplicemente mettere un %n.2 all'interno della printf.

    ricordati al posto della n di mettere un valore che possa contenere il numero per intero (parte intera + virgola + parte decimale)

    spero di esserti stato d'aiuto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148
    ok... penso di aver capito... quindi nell'esempio che mi hai fatto tu (valore=65,324598) mettendo:

    printf("valore trovato %3.2f", valore)

    a video avrei: 65,32

    ho capito bene?


    ma una'altra domanda: se ho:

    printf ("dammi un valore");
    scanf("%1d", &valore);

    che senso ha il numero 1? quello di mettere sempre una sola cifra del numero dato in input?
    mi sembra strano.... non avrebbe senso.... :master:

  4. #4
    Diciamo di si.
    L'importante è il valore che metti dopo il punto perchè con quello indichi quante cifre dopo la virgola intendi visualizzare.

    per il %1d mi spiego con un esempio.
    mettiamo a=123. per chiarezza indico gli spazi con il punto

    printf("%d", a) stampa
    123

    printf("%5d", a) stampa
    ..123

    printf("%-5d", a) stampa
    123..

    quindi il valore posto tra il % e la d indica la lunghezza del campo (ossia il numero di caratteri) del numero che stampi sul video.

    Se hai qualche altra domanda o se non ti è molto chiaro sono qui. Il mio consiglio comunque è quello di avviare il compilatore e di fare delle prove...è il modo migliore per capirci qualcose!

    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    148
    no, 6 molto chiaro...
    vado allora vedere cosa mi esce con %1d se metto un numero con 3 cifre...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.