1. #1
    L'avatar di Allfreeware Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    06-09-06
    Messaggi
    193
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0

    Troncare decimali C#

    Ciao a tutti.
    Vorrei sapere come troncare le cifre decimali in C#.
    In pratica ho questo codice:
    Codice:
    double peso_nettuno = (massa_terra*11.15);
                textBox2.Text = Convert.ToString (peso_mercurio);
    In pratica quando esegue l'operazione sulla textbox mi visualizza sulle 10 cifre decimali.Come faccio a trocare il valore ottenuto dall'operazione dopo 2 cifre?Così invece di
    50,389490580257808 mi venga 50,38?
    Grazie.
    Ciao!

  2.  
    Stanco della Pubblicità? Registrati

  3. #2
    L'avatar di LiquidSnake Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    11-08-07
    Messaggi
    113
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    • CPU: Intel Core i7 920 2.66 GHz Step D0
    • Mainboard: Gigabyte EX58-UD5 Rev 1.0
    • RAM: 3x2GB Corsair Dominator 1600MHz 8-8-8-24
    • Hard Disk: 2x250GB Maxtor RAID 0 + 500GB Maxtor
    • Scheda Video: Zotac GeForce 9800GTX+ AMP! 780/1930/1300
    • Scheda Audio: Integrata
    • Monitor: Grundig Amira 17'' 1280x1024
    • Alimentatore: Hyper Technology 620W Blue
    • Sistema Operativo: Windows Vista Ultimate X64
    • Case: ThermalTake Kandalf Black + Cooler Master Aerogate e Muskeeter + Neon Blu, Rossi, Verdi


    in C++ si può utilizzare la "cout.precision(n)" dove n è il numero di cifre che vuoi visualizzare dopo la virgola (ovviamente intero)... ma nn so se funzioni anche con il C#

  4. #3
    L'avatar di Allfreeware Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    06-09-06
    Messaggi
    193
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0


    Purtroppo no.
    C'avevo pensavo ma non funge,per C# in internet ho trovato dei procedimenti...ma sono tutti di 4 righe di codice...mi sembra strano che non ci sia una funzione specifica

  5. #4
    L'avatar di nekosan Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    08-11-06
    Località
    in ufficio
    Messaggi
    308
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0


    potresti usare gli arrotondamenti per arrotondare la cifra, ma se a te interessa solo prendere le due cifre dopo la virgola, è meglio che usu un semplice sub string
    for(int i=0;i<=;i++){ La vita è un brivido che vola via, è un'equilibrio sopra la follia. }

  6. #5
    L'avatar di carlop() Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    28-08-07
    Messaggi
    19
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0


    PUOI usare il metodo della classe System.Double

    public string ToString (
    string format
    )

    I formati li trovi qui:
    http://msdn2.microsoft.com/en-us/library/0c899ak8.aspx

  7. #6
    L'avatar di TempestaT400
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    11-05-11
    Messaggi
    1
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    • CPU: Intel Q6600 OC to 3.0GHz
    • Mainboard: ASUS P5KC
    • RAM: 4Gb Black-Dragon
    • Hard Disk: 2Tb
    • Scheda Video: nVidea Xfx 8800 GTS AlphaDog Edition
    • Scheda Audio: Integrata
    • Monitor: LG 19''
    • Alimentatore: 600
    • Sistema Operativo: Windows - Linux


    Basta usare la funzione prevista dalla libreria Math

    Math.Round(double val, int decimal)

  8. #7
    L'avatar di Devil 8Ball Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    18 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    30-03-10
    Località
    Verona
    Messaggi
    385
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    18 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    • CPU: Intel I5-2500K @ 4,5 Ghz 1,28V / Noctua NH-C12P se14
    • Mainboard: AsRock P67 eXtreme4 rev. B3 (Bios 2.1)
    • RAM: 2 x 4GB Corsair Vengeance (1600Mhz / 8-8-8-20 1t / 1,5v)
    • Hard Disk: Seagate Barracuda 500Gb SATAIII / OCZ Vertex II 40Gb
    • Scheda Video: MSI GTX 660Ti PE/OC
    • Scheda Audio: Creative X-Fi Titanium PCI-E (Logitech X-530)
    • Monitor: LG M227WDP-PZ
    • Alimentatore: Enermax PRO82+ II 625W
    • Sistema Operativo: Windows 7 Profesional SP1 x64 / Ubuntu 12.04 x64
    • Case: Homemad table-bech


    molto semplicemente printf("%.2lf", variabiledouble);
    così tronca alla seconda cifra, senza includere altre librerie


  9. #8
    L'avatar di Kataklisma Utente Attivo
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    Registrato dal
    24-10-09
    Messaggi
    26
    Menzionato
    0 Messaggio(i)
    Taggato
    0 Discussione(i)
    Quoted
    0 Messaggio(i)
    Problemi sottoposti
    0
    Problemi Risolti
    0
    Risposte Migliori
    0
    Risposte Buone
    0
    • CPU: i7 920 d0
    • Mainboard: P6T
    • RAM: 6 gb ram 1066mhz
    • Hard Disk: 2T
    • Scheda Video: ATI 4870
    • Monitor: Asus 22''
    • Alimentatore: 600
    • Sistema Operativo: Windows,Linux
    • Case: Cooler Master cosmos 1000


    Originariamente Scritto da TempestaT400
    Basta usare la funzione prevista dalla libreria Math

    Math.Round(double val, int decimal)
    Lui vorrebbe troncare, non arrotondare.

    Dovrebbe utilizzare una formattazione speciale nel metodo toString :

    Codice:
    string DueDec = TuoDouble.ToString("N2");
    In questo caso viene memorizzata una stringa con il valore del Double però con due soli decimali (non arrotondati).

  10.  
    Stanco della Pubblicità? Registrati