none
Casting e conversioni di tipi RRS feed

  • Domanda

  • Salve, come faccio ad fare il modo che mi legga anche i decimali e convertirlo in una int?

    Il codice. è cosi:

    class Test
    {
      static void Main()
      {
        double x = 1234.7;
        int a;
        // Cast double to int.
        a = (int)x;
        System.Console.WriteLine(a);
      }
    }
    // Output: 1234
    
    

    Avete delle soluzioni, perchè lo dovrei metterlo in una posizione X e Y , della picturebox.

    Grazie mille.

    aspetto risposta.

    mercoledì 6 ottobre 2010 16:53

Risposte

  • Come posso utilizzare i decimali in un oggetto pic o altri oggetti che posso utilizzare per usare i decimali?

    C'è qualche oggetto gdi, che supporta i decimali?


    Ciao Gigi_CS,

    vediamo se ho capito ...

    hai una macchina a controllo numerico che ti restituisce dei dati in formato 234.123

    tu vuoi fare un disegno in una applicazione WinForms a partire da queste coordinate.

    è così ?

    allora ti basta (come da primo post) motiplicare per 1000 il valore che ti restituisce il CCN e avrai delle coodinate intere

     

    Ciao


    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato

    mercoledì 6 ottobre 2010 19:02
  •  

    si, giusto. solo che non so come fare... perchè ho provato tutti i modi... ora provo come mi hai detto ,

    mi protesti farmi un'esempio tramite il mio primo post dove ho postato il codice di esempio del casting?

    Quel esempio l'ho trovato su msdn è ha il solito titolo che gli ho dato io al mio post.

    Mi fai questo favore?

     

    Ciao Gigi_CS,

     

    double dNumber = 123.456;
    
    try {
     // restituisce 123456
      int  iNumber = System.Convert.ToInt32(dNumber * Math.Pow(10,3));
      System.Console.WriteLine(iNumber);
      System.Console.ReadLine();
    
    }
    catch(System.OverflowException) {
    System.Console.WriteLine("Overflow");
    }
    
    

    Ciao


    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato

    mercoledì 6 ottobre 2010 19:45

Tutte le risposte

  • Ciao Gigi_CS,

    NON ho capito :)

    se hai un Double e lo fai diventare in Int è logico che perdi la parte decimale.

    se la tua richiesta è che il numero double 1234.7 diventi un intero 12347 allora basta moltiplicare per 10^numero di decimali

    es.

    decimals=0;
    while ((int)mydouble % 10 ==0)
    {
    mydouble*=10;
    decimals++;
    }
    

    oppure voi fare un arrotondamento del tipo 1234.2 diventa 1234 mentre 1234.7 diventa 1235 n questo caso ti serve utilizzare MAth.Round

    Math.Round(3.44, 1); //Returns 3.4.
    Math.Round(3.45, 1); //Returns 3.4.
    Math.Round(3.46, 1); //Returns 3.5.

    http://msdn.microsoft.com/en-us/library/system.math.round(VS.71).aspx

    Ciao


    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato

    mercoledì 6 ottobre 2010 17:50
  • Ciao, grazie per la risposta.

    Però a me mi serve che legga i decimali come sono..

    Io ho una macchina a controllo numerico che a questo formato: 000.000

    Prima gli interi e poi dopo il punto i decimali.

    Mi protesti dire come fare?.

    grazie mille.

    mercoledì 6 ottobre 2010 18:17
  • Ciao, grazie per la risposta.

    Però a me mi serve che legga i decimali come sono..

    Io ho una macchina a controllo numerico che a questo formato: 000.000

    Prima gli interi e poi dopo il punto i decimali.

    Mi protesti dire come fare?.

    grazie mille.


    Ciao,

    se ho ben capito vuoi modificare la proprietà Location della PictureBox, però i valori che accettano X e Y sono solo numeri interi,

    non e possibile inserire numeri con virgola mobile o con decimali.

     

    Ciao


    Carmelo La Monica
    mercoledì 6 ottobre 2010 18:42
  • Come posso utilizzare i decimali in un oggetto pic o altri oggetti che posso utilizzare per usare i decimali?

    C'è qualche oggetto gdi, che supporta i decimali?

     

    Grazie mille.

    mercoledì 6 ottobre 2010 18:44
  • Però a me mi serve che legga i decimali come sono..

    Io ho una macchina a controllo numerico che a questo formato: 000.000

    Prima gli interi e poi dopo il punto i decimali.

    Mi protesti dire come fare?.

    Ciao Gigi_CS,

    sai che proprio non capisco cosa vuoi fare ... mi puoi fare un esempio ....

    partiamo dal valore double 1234.7 ... cosa vuoi che ci sia nell'intero ?

    sicuramente non 1234.7 questo è impossibile altrimenti nons arebbe un intero ;-)

    NON è che intendi avere una stringa con il valore formattato ?

    // Sempre DUE decimali
    String.Format("{0:0.00}", 123.4567);   // "123.46"
    String.Format("{0:0.00}", 123.4);     // "123.40"
    String.Format("{0:0.00}", 123.0);     // "123.00"
    
    
    // MASSIMO DUE Decimali
    
    String.Format("{0:0.##}", 123.4567);   // "123.46"
    String.Format("{0:0.##}", 123.4);     // "123.4"
    String.Format("{0:0.##}", 123.0);     // "123"
    
    
    Ciao

    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato

    mercoledì 6 ottobre 2010 18:56
  • Come posso utilizzare i decimali in un oggetto pic o altri oggetti che posso utilizzare per usare i decimali?

    C'è qualche oggetto gdi, che supporta i decimali?


    Ciao Gigi_CS,

    vediamo se ho capito ...

    hai una macchina a controllo numerico che ti restituisce dei dati in formato 234.123

    tu vuoi fare un disegno in una applicazione WinForms a partire da queste coordinate.

    è così ?

    allora ti basta (come da primo post) motiplicare per 1000 il valore che ti restituisce il CCN e avrai delle coodinate intere

     

    Ciao


    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato

    mercoledì 6 ottobre 2010 19:02
  • Come posso utilizzare i decimali in un oggetto pic o altri oggetti che posso utilizzare per usare i decimali?

    C'è qualche oggetto gdi, che supporta i decimali?


    Ciao Gigi_CS,

    vediamo se ho capito ...

    hai una macchina a controllo numerico che ti restituisce dei dati in formato 234.123

    tu vuoi fare un disegno in una applicazione WinForms a partire da queste coordinate.

    è così ?

    allora ti basta (come da primo post) motiplicare per 1000 il valore che ti restituisce il CCN e avrai delle coodinate intere

     

    Ciao


    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato


    si, giusto. solo che non so come fare... perchè ho provato tutti i modi... ora provo come mi hai detto ,

    mi protesti farmi un'esempio tramite il mio primo post dove ho postato il codice di esempio del casting?

    Quel esempio l'ho trovato su msdn è ha il solito titolo che gli ho dato io al mio post.

    Mi fai questo favore?

    Grazie mille.

    mercoledì 6 ottobre 2010 19:05
  •  

    si, giusto. solo che non so come fare... perchè ho provato tutti i modi... ora provo come mi hai detto ,

    mi protesti farmi un'esempio tramite il mio primo post dove ho postato il codice di esempio del casting?

    Quel esempio l'ho trovato su msdn è ha il solito titolo che gli ho dato io al mio post.

    Mi fai questo favore?

     

    Ciao Gigi_CS,

     

    double dNumber = 123.456;
    
    try {
     // restituisce 123456
      int  iNumber = System.Convert.ToInt32(dNumber * Math.Pow(10,3));
      System.Console.WriteLine(iNumber);
      System.Console.ReadLine();
    
    }
    catch(System.OverflowException) {
    System.Console.WriteLine("Overflow");
    }
    
    

    Ciao


    Renato Marzaro  MVP Visual Basic

    http://community.visual-basic.it/renato

    mercoledì 6 ottobre 2010 19:45
  • E per fare il casting di Stringhe , valorizzate in Excel ?
    mercoledì 9 novembre 2022 10:41
  • Buongiorno, Diego,

    Prima di tutto, il thread e da 12 anni fa. Poi, si tratta di C#, non di VB, neanche di Excel. Consiglierei di postare la sua domanda nel forum creato per Visual Basic o per excel - dipende dal tipo di problema. 


    • Microsoft offre questo servizio gratuitamente, per aiutare gli utenti e aumentare il database dei prodotti e delle tecnologie. Il contenuto fornito “as is“ non comporta alcuna responsabilità da parte dell’azienda.

    mercoledì 9 novembre 2022 11:45
    Moderatore