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

    [C++], cast da Double ad Int

    Scusate la domanda che ai più potrebbe sembrare da novellino... La cosa è un po' umiliante.
    Non ne vengo fuori!
    Problema: Un Double che contiene qualcosa da cui devo ottenere con 2 interi la parte intera e la parte decimale senza arrotondamenti. Mi interessano della parte decimale soltanto 2 cifre.

    Esempio:

    codice:
    	...
    
    	Double Costo= 100.57;
    	Int ParteIntera= (int)(Costo);					//Qua tutto bene
    	Int ParteDecimale= (int)((double)((Costo- ParteIntera)* 100));	//Mi esce 56 anziché 57!
    	...
    Se invece Costo= 10.57 allora ParteDecimale è correttamente uguale a 57!

    Non capisco proprio.

  2. #2
    Così eviti arrotondamenti deleteri:

    codice:
    #include <stdio.h>
    
    int main(void){
    	double Costo= 100.57;
    	int ParteIntera= (int)(Costo);
    	double ParteDecimale= (Costo - ParteIntera)* 100;	
    	printf("%d\n", ParteIntera);
    	printf("%.0f\n", ParteDecimale);
    	return 0;
    }
    "Se riesci a passare un pomeriggio assolutamente inutile in modo assolutamente inutile, hai imparato a vivere."

  3. #3
    prova così:
    Codice PHP:
    #include <iostream>

    int main (int argcchar * const argv[]){
    //
    // Compiled and tested with:
    // i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
    //
    // Output:
    // ParteIntera: 100
    // ParteDecimale: 57
    //
        
    double Costo100.57;
        
    int ParteIntera= (int)(Costo);                    
        
    int ParteDecimale= (int)((double)((Costo*100ParteIntera*100)));
        
    std::cout << "ParteIntera: " << ParteIntera << std::endl;
        
    std::cout << "ParteDecimale: " << ParteDecimale << std::endl;
        return 
    0;

    p.s. ma non potevi scrivere int e double in minuscolo?

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.