Número tipo Long

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número tipo Long

Mensagem por asimoes »

Tem como o Harbour trabalhar com tipo long

aa := 11111112222344555555

Esse número é truncado no 15 digito
2019-07-16 15_36_09-TESTE COM TIBERO.png
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Número tipo Long

Mensagem por asimoes »

Consegui criar a função para trabalhar com ULONGLONG

nResto := C_Resto("11111112222344555555","97")

Código: Selecionar todos


#pragma BEGINDUMP

#include <windows.h>
#include <windef.h>
#include <tlhelp32.h>
#include <hbapi.h>
#include <hbapiitm.h>
#include <string.h>
#include <stdlib.h>

HB_FUNC ( C_RESTO )
{
        
  HB_ULONGLONG    parax1;
  HB_ULONGLONG    parax2;
   
  double resulta;
   
  const char * para1 = hb_parcx(1);
  
  const char * para2 = hb_parcx(2);
  
  parax1 = strtoull(para1, &parax1, 10); 

  parax2 = strtoull(para2, &parax2, 10); //atoi(para2);
 
  resulta = (parax1 % parax2);
  
  hb_retnl( resulta );

}

#pragma ENDDUMP
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Responder