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

    [c++ Builder] Variabili con soli 3 decimali

    Ciao a tutti,
    volevo chiedere come posso fare in modo che una variabili di tipo float, venga usata solo con due decimali.
    Esempio:

    Se ValoreCaloria è 0,85 mi vengono i conteggi corretti, se invece assume ad esempio 0,8587921
    allora mi sballa tutto.

    Appartamento[i].costoPerMillesimi = (costoFisso * (Appartamento[i].Millesimi / 1000));
    Appartamento[i].costoperMillesimiRis = SommaCalorie * ValoreCaloria;

    grazie mille

  2. #2
    Un modo "spartano" per farlo è:
    float a;
    ...
    long int b = a * 1000;
    a = (float) b / 1000;
    ...

    Naturalmente può essere migliorato sia dal punto di vista sintattico che semantico
    a = (((long int)(a * 1000))/((float)1000));
    Experience is what you get when you don’t get what you want

  3. #3
    Grazie Xaratroom,
    adesso ho capito qual'era il problema, le moltiplicazioni e le divisioni tra interi vengono ritornate come interi. Quindi associando ad una variabile float il risultato è comunque sballato.

    grazie mille

  4. #4
    si è proprio così, secondo la regola "del più forte" ma considerando che quel che viene assegnato è consfiderato un po' come un'unità a se stante
    Experience is what you get when you don’t get what you want

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.