Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492

    [VB.NET] Effettuare calcoli con punto decimale

    Salve a tutti
    ho necessità di scrivere su un DB alcuni numeri con cui devo effettuare delle operazioni.
    Il problema è che questi numeri sono decimali e scritti con il punto decimale, pertanto mi comporta alcuni problemi.
    Come devo fare in modo da effettuare i corretti calcoli con il punto decimale?
    Premetto che non vorrei farli con la virgola e poi fare un replace, in quanto poi quando li recupero con il Bindingsource associato al campo, rimodificarlo mi risulta un pò complicato.

    es:
    A=2505
    B=0.8350

    C=A/B=3000.00


    Sperro di aver spiegato bene il mio prob

    Grazie in anticipo per le risposte

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Veramente non si e' capito quale sia il problema ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Originariamente inviato da oregon
    Veramente non si e' capito quale sia il problema ...
    Cerco di spiegarmi più semplicemente:
    devo effettuare i calcoli con numeri decimali, ma l'indicatore dei decimali non deve essere la "," ma bensì il ".".
    Attualemnte se faccio il seguente calcolo con A e B impostati come segue:
    A=2505
    B=0,8350

    C=A/B=3000,00

    il risultato è corretto.

    A me interessa invece che l'utente non scriva i decimali con la virgola, quindi B=0.8350. Ma in questo caso il valore calcolato da C non è quello che mi aspetto, ovvero 3000.00 ma 0,300.

    Il mio codice usato è:
    codice:
    Dim a As Double = TextBox6.Text
    Dim b As Double = TextBox5.Text
    Dim c As Double = a / b       
    TextBox4.Text = Format(c, "0.000")

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Devi usare i corretti metodi di conversione di tipo. L'abitudine di non convertire i tipi di dati (specialmente a partire da un TextBox che è sempre una stringa ...) che deriva dal "vecchio" VB, è pessima ...

    Dim a As Double = Convert.ToDouble(TextBox6.Text)
    Dim b As Double = Convert.ToDouble(TextBox5.Text)
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Originariamente inviato da oregon
    Devi usare i corretti metodi di conversione di tipo. L'abitudine di non convertire i tipi di dati (specialmente a partire da un TextBox che è sempre una stringa ...) che deriva dal "vecchio" VB, è pessima ...

    Dim a As Double = Convert.ToDouble(TextBox6.Text)
    Dim b As Double = Convert.ToDouble(TextBox5.Text)

    il problema è sempre lo stesso :-(

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Allora hai il sistema con le impostazioni internazionali "inglesi (stati uniti)" e non "italiane".
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244

    Re: [VB.NET] Effettuare calcoli con punto decimale

    Originariamente inviato da zorro77
    ho necessità di scrivere su un DB alcuni numeri con cui devo effettuare delle operazioni.
    Il problema è che questi numeri sono decimali e scritti con il punto decimale, pertanto mi comporta alcuni problemi.
    Se vuoi/devi usare un separatore di decimali diverso da quello delle impostazioni di sistema, devi farlo da codice, non mi pare vi siano alternative.


  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    492
    Originariamente inviato da oregon
    Allora hai il sistema con le impostazioni internazionali "inglesi (stati uniti)" e non "italiane".
    eventuale soluzione al problema?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    1) Setta correttamente le impostazioni internazionali (se puoi ...)

    oppure

    2) Usa la Replace
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da zorro77
    eventuale soluzione al problema?
    Vedi mia riposta precedente.

    A meno che non cambi le impostazioni internazionali...


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 © 2025 vBulletin Solutions, Inc. All rights reserved.