Principale utente con più risposte
Casting e conversioni di tipi

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.
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
- Contrassegnato come risposta Mila Daniel Ovidiu giovedì 7 ottobre 2010 11:46
-
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
- Contrassegnato come risposta Mila Daniel Ovidiu giovedì 7 ottobre 2010 11:46
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
- Proposto come risposta Carmelo La Monica 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 -
-
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"
CiaoRenato Marzaro MVP Visual Basic
-
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
- Contrassegnato come risposta Mila Daniel Ovidiu giovedì 7 ottobre 2010 11:46
-
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
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.
-
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
- Contrassegnato come risposta Mila Daniel Ovidiu giovedì 7 ottobre 2010 11:46
-
-
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.