SDWORD

Fermé
area4aman44 Messages postés 5 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 11 février 2008 - 6 févr. 2008 à 09:45
area4aman44 Messages postés 5 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 11 février 2008 - 8 févr. 2008 à 08:21
bonjour
je doit programmer en java un projet déjà fait en C++;
alors j'ai une fonction qui retourne un SDWORD:

SDWORD ASCIIMult10ToSDWord(char *str)
{
SDWORD n=0;
BYTE i=0, neg=0;

//Convertie la partie avant le point en valeur entiere
while((str[i]!='.')&(str[i]!=0)) // Jusqu'a rencontrer '.' ou fin de chaine
{
//Si carac est un chiffre
if ((str[i]>='0')&(str[i]<='9'))
n = n*10 + (str[i]-'0');
//Si carac est le signe -
if (str[i]=='-')
neg=1;
i++;
}

i++; // pour passer le caractere '.'
n = n*10;
//Convertie le premier caractere après le point en valeur entiere
if ((str[i]>='0')&(str[i]<='9'))
{
n = n + (str[i]-'0');
}

//Tient compte du signe si necessaire
if (neg!=0)
n = -n;

return(n);
}

je suis débutante en java, mais j'ai cherché l'équivalent de SDWORD en java mais je n'ai pas trouvé...........

quelq'un peut m'aider.

merci

2 réponses

Mahmah Messages postés 496 Date d'inscription lundi 17 septembre 2007 Statut Membre Dernière intervention 22 juin 2010 125
8 févr. 2008 à 00:57
Salutations,

SDWORD n'est pas un type standard du C++, il est donc nécessairement défini quelque part.

Sous Windows on trouve la définition suivante dans sqltypes.h:
typedef long int SDWORD;

Il te faut donc un type primitif Java qui soit signé et codé sur 32bits aussi bien pour les OS32 et 64 bits. (Chose très certainement invérifiable en Java) Je dirais int sans vraiment savoir ce qu'en fera la machine virtuelle java. Cela n'a vraiment d'importance que si des masques sont utilisés.

M.
0
area4aman44 Messages postés 5 Date d'inscription mercredi 6 février 2008 Statut Membre Dernière intervention 11 février 2008
8 févr. 2008 à 08:21
bonjour

merci pour ta réponse ,
donc dans mon programme en java je vais le déclarer en int.

merci
0