Oppure

Loading
12/11/11 14:17
j7-na
Intendo questo, cioè:

Input: 101,13

1° Output: 100
2° Output: 1,13



Ecco cosa devo ottenere! :asd:
Ultima modifica effettuata da j7-na 12/11/11 14:36
aaa
12/11/11 16:56
Poggi Marco
 dim q as double
 dim numero as double
 dim modulo as double
 dim out1 as double
 dim out2 as double
 modulo=10
 numero=103.13
 q=FIX(numero/modulo) // calcolo la parte intera di numero/modulo
 out1=q*modulo
 out2=numero-out1
aaa
12/11/11 17:56
j7-na
Scrivendo in questo modo:

Private Sub Command6_Click()

Dim q As Double
Dim modulo As Double
Dim out1 As Double
Dim out2 As Double
totale = Val(Text1.Text)
modulo = 10
q = Fix(totale / modulo)
out1 = q * modulo
out2 = totale - out1
If out2 > 0 And out2 < 5 Then
...
ElseIf out2 >= 5 And out2 <= 9 Then
...
End If
Text6.Text = out2

End Sub


Nelle text6 visualizzo solo la parte intera. Tipo se:

Input: 133,11

Output: 3

Invece dovrebbe uscire 3,11. Come mai?


N.B.
La variabile globale totale è dichiarata cn il tipo Double.
aaa
13/11/11 17:27
j7-na
Il fatto è che se scrivo in questo modo:

    Private Sub Command6_Click()
     
    Dim q As Double
    Dim modulo As Double
    Dim out1 As Double
    Dim out2 As Double
    totale = 103.13
    modulo = 10
    q = Fix(totale / modulo)
    out1 = q * modulo
    out2 = totale - out1
    If out2 > 0 And out2 < 5 Then
    ...
    ElseIf out2 >= 5 And out2 <= 9 Then
    ...
    End If
    Text6.Text = out2
     
    End Sub




Il risultato finale è 3.13; invece se scrivo come scritto nel post precedente, il risultato è solo 3. Perchè??? :om:
aaa
14/11/11 11:55
j7-na
Nessun aiuto? :d
aaa
14/11/11 12:29
Poggi Marco
Che dire...
Hai fatto il debugging ?
Cosa succede internamente all' if ?
aaa
14/11/11 13:49
j7-na
Ecco tutto il codice:

Option Explicit
Dim I, N As Integer
Dim Numeri(1 To 25) As Integer
Dim Valore(1 To 25) As Double
Dim totale As Double


Private Sub Command1_Click()
On Error Resume Next
totale = Val(Text1.Text)
totale = 0

Do
N = InputBox("Quante case vuoi caricare?" & vbCrLf & _
"(Inserire un valore minore di 25)", "richiesta numero dati")
Loop While N > 25

For I = 1 To N
Numeri(I) = InputBox("Inserisci Numero Casa", "Inserimento Dati")
Valore(I) = InputBox("Inserisci Valore", "Inserimento Dati")
Next I


For I = 1 To N
totale = totale + Valore(I)
Next I

Text1.Text = totale

Calcolo

End Sub

Function Calcolo()
Dim q As Double
Dim modulo As Double
Dim out1 As Double
Dim out2 As Double
Dim resto As Double

totale = Val(Text1.Text)
modulo = 10

q = Fix(totale / modulo)
out1 = q * modulo
out2 = totale - out1

If out2 >= 0 And out2 < 5 Then

Text7.Text = totale
Text6.Text = out2
ElseIf out2 >= 5 And out2 <= 9 Then

resto = out2 - 5
Text7.Text = totale - resto
Text6.Text = resto

End If

End Function



C'è qualcosa che non funziona! :k:
Ultima modifica effettuata da j7-na 14/11/11 13:58
aaa
14/11/11 19:02
j7-na
Novità??? :D
Ultima modifica effettuata da j7-na 14/11/11 19:05
aaa