error de la funcion Val() en numeros largos

error de la funcion Val() en numeros largos

Postby SauroSrl » Wed Oct 24, 2007 12:19 am

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
SauroSrl
 
Posts: 17
Joined: Mon Feb 06, 2006 2:57 pm

Postby Antonio Linares » Wed Oct 24, 2007 6:06 am

Rolando,

Lo hemos preguntado en la lista de desarrollo de Harbour.

Falla por igual en Harbour y xHarbour. No es error de FWH, ya que Val() pertenece a ellos.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41949
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Patricio Avalos Aguirre » Wed Oct 24, 2007 12:37 pm

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
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
User avatar
Patricio Avalos Aguirre
 
Posts: 1060
Joined: Fri Oct 07, 2005 1:56 pm
Location: La Serena, Chile

Postby QAZWSX2K » Wed Oct 24, 2007 12:50 pm

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
User avatar
QAZWSX2K
 
Posts: 364
Joined: Tue Oct 25, 2005 7:06 pm
Location: Bogota - Caracas

Postby karinha » Wed Oct 24, 2007 1:57 pm

Code: Select all  Expand view

// 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 - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7665
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: gmart1 and 88 guests