Condividi:
Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!
Moderatori: Anthony47, Triumph Of Steel, archimede
di piter123 » 30/12/10 10:36
salve, posto semplice codice nel quale però non riesco a capire per quale motivo non funzioni.
la variabile prova non assume valore true nonostante N_DEC(2) e P_P_P(2) abbiano lo stesso valore di 0,3, perchè ?
- Codice: Seleziona tutto
Option Explicit
Private Sub Form_Load()
Dim NUMDATO As Double
Dim X, K As Integer
Dim PASSO_PERC As Double
Dim PROB(1 To 4) As Double
Dim N_DEC(1 To 4) As Double
Dim P_P_P(1 To 4) As Double
Dim PROVA As Boolean
PROB(1) = 0.40161959
PROB(2) = 0.310344304
PROB(3) = 0.236029641
PROB(4) = 0.068314809
PASSO_PERC = 0.1
N_DEC(2) = num1dec(PROB(2))
P_P_P(2) = PASSO_PERC * 3
If N_DEC(2) = P_P_P(2) Then
PROVA = True
End If
End Sub
Function num1dec(NUMDATO) As Double
Dim A As Double
Dim n As String
If NUMDATO < 1 Then
If NUMDATO < 0.1 Then
num1dec = "0"
Else
n = Replace(Str(NUMDATO), " ", "")
n = "0" & n
A = InStr(1, NUMDATO, ",")
num1dec = Val(Replace(Left$(n, A + 1), ",", "."))
End If
Else
n = Replace(Str(NUMDATO), " ", "")
A = InStr(1, NUMDATO, ",")
num1dec = Val(Replace(Left$(n, A + 1), ",", "."))
End If
End Function
-
piter123
- Utente Senior
-
- Post: 190
- Iscritto il: 07/11/07 18:31
di nerolubo85 » 30/12/10 12:25
ciao, io farei così:
- Codice: Seleziona tutto
Option Explicit
Private Sub Form_Load()
Dim NUMDATO As Double
Dim X, K As Integer
Dim PASSO_PERC As Double
Dim PROB(1 To 4) As Double
Dim N_DEC(1 To 4) As Double
Dim P_P_P(1 To 4) As Double
Dim PROVA As Boolean
PROB(1) = 0.40161959
PROB(2) = 0.310344304
PROB(3) = 0.236029641
PROB(4) = 0.068314809
PASSO_PERC = 0.1
N_DEC(2) = Round(PROB(2), 1)
P_P_P(2) = Round(PASSO_PERC * 3, 1)
If N_DEC(2) = P_P_P(2) Then
PROVA = True
End If
End Sub
-
nerolubo85
- Utente Senior
-
- Post: 124
- Iscritto il: 04/12/05 11:33
di zello » 30/12/10 16:01
Penso che sia perché 0,3 è un binario periodico (è 0.0100110 periodico, se non ho sbagliato), e quindi la sua rappresentazione non è completa, ma arrotondata.
Il faut être toujours ivre. Tout est là : c'est l'unique question. Pour ne pas sentir l'horrible fardeau du Temps qui brise vos épaules et vous penche vers la terre,il faut vous enivrer sans trêve...
-
zello
- Moderatore
-
- Post: 2351
- Iscritto il: 06/05/02 13:44
Torna a Programmazione
Topic correlati a "vb6 non riconosce numeri con stesso valore":
Chi c’è in linea
Visitano il forum: Nessuno e 13 ospiti