tengo un procedimiento para calcular los precios del pie de factura. Y cada vez que un valor numerico es modificado y afecta al pie de factura, llamo al procedimiento para recalcular.
Pues resulta que no he tenido problemas con este procedimiento hasta que he puesto lo de redondear decimales. Entonces me sale el error ese de "stack overflow".
El código es este:
Cita:
Y la linea que está en negrita es dónde me peta. '++++++++++++++++++++++++++++++++++++++++++
'aplicar descompte.
'++++++++++++++++++++++++++++++++++++++++++
Dim percent As Double = CDbl(Me.txtDto.Text) / 100
Dim restar As Double = CDbl(Me.txtimport.Text) * percent
Me.txtImpDto.Text = restar
Me.txtBase.Text = CDbl(Me.txtimport.Text) - restar
Me.txtBase.Text = Decimal.Round(Me.txtBase.Text, 2)
'++++++++++++++++++++++++++++++++++++++++++
'aplicar IVA i RE
'++++++++++++++++++++++++++++++++++++++++++
Dim percentI As Double = CDbl(Me.txtIva.Text) / 100
Me.txtCuota.Text = CDbl(Me.txtBase.Text) * percentI
Me.txtCuota.Text = Decimal.Round(Me.txtCuota.Text, 2)
'*** re ***
Dim percentR As Double = CDbl(Me.txtRe.Text) / 100
Me.txtReimp.Text = CDbl(Me.txtBase.Text) * percentR
Me.txtReimp.Text = Decimal.Round(Me.txtReimp.Text, 2)
'******* TOTAL *******
Me.txttotal.Text = CDbl(Me.txtBase.Text) + CDbl(Me.txtCuota.Text) + CDbl(Me.txtReimp.Text)
'aplicar descompte.
'++++++++++++++++++++++++++++++++++++++++++
Dim percent As Double = CDbl(Me.txtDto.Text) / 100
Dim restar As Double = CDbl(Me.txtimport.Text) * percent
Me.txtImpDto.Text = restar
Me.txtBase.Text = CDbl(Me.txtimport.Text) - restar
Me.txtBase.Text = Decimal.Round(Me.txtBase.Text, 2)
'++++++++++++++++++++++++++++++++++++++++++
'aplicar IVA i RE
'++++++++++++++++++++++++++++++++++++++++++
Dim percentI As Double = CDbl(Me.txtIva.Text) / 100
Me.txtCuota.Text = CDbl(Me.txtBase.Text) * percentI
Me.txtCuota.Text = Decimal.Round(Me.txtCuota.Text, 2)
'*** re ***
Dim percentR As Double = CDbl(Me.txtRe.Text) / 100
Me.txtReimp.Text = CDbl(Me.txtBase.Text) * percentR
Me.txtReimp.Text = Decimal.Round(Me.txtReimp.Text, 2)
'******* TOTAL *******
Me.txttotal.Text = CDbl(Me.txtBase.Text) + CDbl(Me.txtCuota.Text) + CDbl(Me.txtReimp.Text)
Si alguien ve algo que me dé el error ya me dirá

saludos!