Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [VB 2008] Aiutino per formula di calcolo

    Sono alle primisse armi e al mio primo programmino in form, mi sono piantato su una formula la quale come risposta continua a darmi "Non un numero reale"

    codice:
    Public Class ODS_CC_Home
    
    
        Dim imp_tw As Double
        Dim ft As Int16
        Dim result_6db_tw_c As Double
    
        
        Const PIGRECO As Double = 3.14
    
    
    
    
        Private Sub calc_6db_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles calc_6db.Click
    
    
            result_6db_tw_c = (1 / 2 * PIGRECO * ft) * (1 / imp_tw) * 1000000
    
            c_tw_6db.Text = result_6db_tw_c 
    
    
        End Sub
    
    End Class
    prove fatte usando anche numeri interi e non a doppia precisione

    sicuramente sto dimenticando qualcosa...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non ho capito ... quali valori hanno le variabili usate nell'espressione quando la esegui?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    imp_tw 4
    ft 500

  4. #4
    perchè c_tw_6db.Text suppingo sia un tipo string.

    Non conosco il Vb.NET, ma conosco il C#. Devi utilizzare la funzione ToString per convertire il valore reale in una stringa.

    result_6db_tw_c contiene il metodo statico ToString().

    Sostituisci l'ultima istruzione con

    codice:
    c_tw_6db.Text = result_6db_tw_c.ToString();

    Dovrebbe funzionare ciao

  5. #5
    Originariamente inviato da ardito86
    perchè c_tw_6db.Text suppingo sia un tipo string.

    Non conosco il Vb.NET, ma conosco il C#. Devi utilizzare la funzione ToString per convertire il valore reale in una stringa.

    result_6db_tw_c contiene il metodo statico ToString().

    Sostituisci l'ultima istruzione con

    codice:
    c_tw_6db.Text = result_6db_tw_c.ToString();

    Dovrebbe funzionare ciao
    Ti ringrazio, ho provato ma non cambia nulla...

    Credo che l'errore sia a "livello" più alto, probabilmente si genera all'altezza della formula e non durante la scrittura nella label

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Il problema e' dovuto al fatto che quelle variabili NON hanno i valori che hai indicato quando esegui la formula ...

    Quando imposti i valori?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da Ricky_85
    Ti ringrazio, ho provato ma non cambia nulla...

    Credo che l'errore sia a "livello" più alto, probabilmente si genera all'altezza della formula e non durante la scrittura nella label
    Ok si, hai ragione. Devi fare una conversione. Che in C# è (double) messo prima della formula.

    Ovvero

    result_6db_tw_c = (double) (1 / 2 * PIGRECO * ft) * (1 / imp_tw) * 1000000

  8. #8
    Originariamente inviato da oregon
    Il problema e' dovuto al fatto che quelle variabili NON hanno i valori che hai indicato quando esegui la formula ...

    Quando imposti i valori?
    I valori li scrivo nelle textbox relative

    quelle variabili sono impostato come double ma se scrivo un numero intero non dovrebbe "adattarselo" da solo? (intendo se scrivo 4 lui dovrebbe vederlo come 4.00)

    Se è questo che intendevi dire

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,481
    Non e' questione di conversione ...

    "Non un numero reale" vuol dire che si e' presentata una situazione del tipo 0/0 e questo e' avvenuto perche' sia imp_tw sia ft valgono 0.

    Se assegni i valori correttamente alle due variabili, hai risolto ...

    P.S. Sono nelle textbox ... e quando le assegni alle variabili ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  10. #10
    Oregon hai ragione...

    E so pure perchè...mi sono dimenticato di dirgli che i valori di quelle due variabili me le deve leggere dalle textbox, quindi me le lasciava sempre a 0, infatti dichiarandome "manualmente" la formula funziona...

    Mi ero scordato un pezzo, chiedo venia

    Ora mi serve solo convertire le textbox in modo che mi leggano i valori come "numerici" e non come string

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.