Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [TURBO C++] Approssimazione

    devo eseguire dei calcoli tramite variabili e devo copiare il risultato in un textbox...
    ma purtroppo vengono inseriti anche tutte le cifre significative..ma dovrei approssimarla a due cifre dp la virgola

    ris= ((numer_usciti * estratto)/(comb*tutte)) * (numeri[k-1]);
    Edit7->Text= ris ;

    numer_usciti è intero
    estratto è intero
    comb è intero
    tutte è intero
    k=1
    numeri[] è float numeri[] = {11.23,55,250,4500,120000,6000000 };
    By SirSeymour !!!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,290
    Usa la funzione Round, oppure la SimpleRoundTo.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    un aiutino? :-D
    By SirSeymour !!!

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,290
    Originariamente inviato da SirSeymour
    un aiutino? :-D
    Cioè?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Codice PHP:
    ris= (((numer_usciti estratto)/(comb*tutte)) * (numeri[k-1])) ;
    provaRoundTo(ris,-2); 
    dove:
    -ris è float
    -numer_usciti è int
    -estratto è float
    -comb è int
    -tutte è int
    -numeri[] è un array di tipo float

    Vado a mettere i valori
    numer_usciti = 2
    estratto = 2
    comb = 5
    tutte= 1
    numeri[1] = 11.32

    perchè prova me lo scrive come 8,97999954223633 ? invece di 8.98 ????
    Dove sbaglio?
    By SirSeymour !!!

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,290
    Originariamente inviato da SirSeymour
    perchè prova me lo scrive come 8,97999954223633 ? invece di 8.98 ????
    Dove sbaglio?
    La variabile Prova di che tipo è?
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  7. #7
    float
    By SirSeymour !!!

  8. #8
    ho messo double e tutto funziona....
    grazie della pazienza :-D
    By SirSeymour !!!

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,290
    Originariamente inviato da SirSeymour
    float
    Se continui a smistare dati che sono valori in virgola mobile, anche con gli arrotondamenti non potrai comunque eliminare l'errore di precisione che influenza proprio il tipo di dati in sé.

    Devi agire successivamente sulla formattazione che scegli quando vai a trasformare il valore in virgola mobile nel corrispondente formato testuale, cioè in una stringa, per la sua visualizzazione, una parte che è sicuramente presente nel tuo codice ma che non hai riportato.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.