Hola amigos el foro:
Ayuda por favor, la oficina de Impuestos de Bolivia requiere que los datos de una Factura sean encriptados, previo el añadido de un digito verificador, por lo cual necesito hacer la siguiente operacion:
VAL("4209253717027162"+"1")
pero el resultado que me arroja la funcion Val() es:
42092537170271624
... el ultimo digito, en el valor numerico, se vuelve 4 (en vez e 1).
esto en realidad es un error de xHarbour??
estoy usando FWH26 y xharbour 0.99.3
De antemano gracias por la ayuda.
Rolando
error de la funcion Val() en numeros largos
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Hola
En xHarbour Compiler build 0.99.71 (SimpLex)
Copyright 1999-2007, http://www.xharbour.org http://www.harbour-project.org/
Funciona correctamente el ejemplo
En xHarbour Compiler build 0.99.71 (SimpLex)
Copyright 1999-2007, http://www.xharbour.org http://www.harbour-project.org/
Funciona correctamente el ejemplo
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
y porque no haces VAL("4209253717027162")+val("1")
Software especializado para oficinas contables con grandes volumenes de Informacion
Impresion de todos los formularios del Seniat, Dian
alex_patino74@hotmail.com
whatsapp 57+3214777217
Impresion de todos los formularios del Seniat, Dian
alex_patino74@hotmail.com
whatsapp 57+3214777217
Code: Select all
// Testing a VAL()
#Include "FiveWin.Ch"
//------------------------------------------------------------------------//
Function Main()
LOCAL oDlg
LOCAL cVAL := "4209253717027162"
LOCAL oGet
DEFINE DIALOG oDlg TITLE "Just a get"
@ 1.5, 2 SAY "Val:" OF oDlg
@ 2, 6 GET oGet VAR cVAL OF oDlg SIZE 80, 12 ;
VALID ! Empty( cVAL )
@ 3, 7 BUTTON "&Ok" OF oDlg SIZE 30, 12 ;
ACTION ( Calcula_Val( cVAL ) )
@ 3, 16 BUTTON "&Cancel" SIZE 30, 12 OF oDlg ;
ACTION ( oDlg:End() ) CANCEL
ACTIVATE DIALOG oDlg CENTERED
return nil
//------------------------------------------------------------------------//
/*
VAL("4209253717027162"+"1")
pero el resultado que me arroja la funcion Val() es:
42092537170271624
Desde Clipper: VAL(A) + VAL(B)
*/
Static Function Calcula_Val( cVAL )
LOCAL bVal := "1"
LOCAL A, B, nResuelta
A := VAL( cVAL )
B := VAL( bVAL )
nResuelta := A + B
? nResuelta
Return( .T. )
//-> FIN
João Santos - São Paulo - Brasil