Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

conversion long en string

24 réponses
Avatar
john.ambou
Bonjour,

Je voudrais convertir un long en string afin de pouvoir ensuite
l'envoyer =E0 l'aide de socket.
Connaissez vous un moyen de faire cela ?

10 réponses

1 2 3
Avatar
Aski
Hello ,

Tu as savamment écrit :

Bonjour,

Je voudrais convertir un long en string afin de pouvoir ensuite
l'envoyer à l'aide de socket.
Connaissez vous un moyen de faire cela ?



Format$(LongString)
Avatar
john.ambou
Merci mais j'ai trouvé str(monlong) qui correspond a la même chose.

Mais je ne connaisais pas cette syntaxe merciiiiiiiii
Avatar
Aski
Hello ,

Tu as savamment écrit :

Merci mais j'ai trouvé str(monlong) qui correspond a la même chose.

Mais je ne connaisais pas cette syntaxe merciiiiiiiii



J'avais oublié.
Encore mieux CStr(TonLong)
--
Cordialement
Aski
Avatar
Jacques93
Bonjour et Aski,
Aski a écrit :
Hello ,

Tu as savamment écrit :

Merci mais j'ai trouvé str(monlong) qui correspond a la même chose.

Mais je ne connaisais pas cette syntaxe merciiiiiiiii



J'avais oublié.
Encore mieux CStr(TonLong)



Petite précision, la fonction Str place un espace en début de chaîne si
le nombre est positif, ce qui n'est pas le cas de Format ou Cstr.

Par ailleurs, bien qu'ici cela n'aie pas d'importance, vu qu'il s'agit
d'un entier long, la fonction Str ne redonnait que le . comme séparateur
décimal, alors que Format et CStr prennent en compte les paramètres
régionaux.

--
Cordialement,

Jacques.
Avatar
Aski
Hello Jacques93,

Tu as savamment écrit :

Bonjour et Aski,
Aski a écrit :
Hello ,

Tu as savamment écrit :

Merci mais j'ai trouvé str(monlong) qui correspond a la même chose.

Mais je ne connaisais pas cette syntaxe merciiiiiiiii



J'avais oublié.
Encore mieux CStr(TonLong)



Petite précision, la fonction Str place un espace en début de chaîne
si le nombre est positif, ce qui n'est pas le cas de Format ou Cstr.

Par ailleurs, bien qu'ici cela n'aie pas d'importance, vu qu'il s'agit
d'un entier long, la fonction Str ne redonnait que le . comme
séparateur décimal, alors que Format et CStr prennent en compte les
paramètres régionaux.



Merci Jacques, on va bien arriver à faire le tour de la question. :-)
Avatar
jean-marc
"Aski" a écrit dans le message de
news:
Hello Jacques93,

Tu as savamment écrit :

> Bonjour et Aski,
> Aski a écrit :
>> Hello ,
>>
>> Tu as savamment écrit :
>>
>>> Merci mais j'ai trouvé str(monlong) qui correspond a la même


chose.
>>>
>>> Mais je ne connaisais pas cette syntaxe merciiiiiiiii
>>
>> J'avais oublié.
>> Encore mieux CStr(TonLong)
>
> Petite précision, la fonction Str place un espace en début de chaîne
> si le nombre est positif, ce qui n'est pas le cas de Format ou Cstr.
>
> Par ailleurs, bien qu'ici cela n'aie pas d'importance, vu qu'il


s'agit
> d'un entier long, la fonction Str ne redonnait que le . comme
> séparateur décimal, alors que Format et CStr prennent en compte les
> paramètres régionaux.

Merci Jacques, on va bien arriver à faire le tour de la question. :-)



Hello à tous,

pour finir le tour de la question, parlons de performances:

Mesures des différentes fonctions pour une série de 10 conversions
de 100.000 entiers longs (de 1 à 100.000):

format() : 0,79 secondes
str() : 0,99 secondes
Cstr() : 0,42 secondes

Graphique
---------

^ _
V | |o|
i | |o|
t | |o|
e | |o| _
s | |o| |o|
s | |o| |o|
e | |o| |o|
| |o| |o|
| |o| |o|
| |o| |o|
| |o| |o|
| |o| |o| _
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
---+------------------------------>
Str() Format() Cstr()

Le meilleur choix est donc Cstr(), qui est le plus rapide tout
en étant fonctionellement le plus riche (prise en compte des
paramètres régionaux, pas d'espace superflu).

Le tour est il complet? :--)

--
Jean-marc
Tester mon serveur (VB6) => http://myjmnhome.dyndns.org
"There are only 10 kind of people
those who understand binary and those who don't."
mailto: remove '_no_spam_' ;
Avatar
jean-marc
Oups, les valeurs en ordonnées sont bien sur le
temps, pas la vitesse. Plus la barre est grande, moins
bonne est la performance ...

--
Jean-marc
Avatar
Aski
Hello jean-marc,

Tu as savamment écrit :

Hello à tous,

pour finir le tour de la question, parlons de performances:

Mesures des différentes fonctions pour une série de 10 conversions
de 100.000 entiers longs (de 1 à 100.000):

format() : 0,79 secondes
str() : 0,99 secondes
Cstr() : 0,42 secondes

Graphique
---------

^ _
V | |o|
i | |o|
t | |o|
e | |o| _
s | |o| |o|
s | |o| |o|
e | |o| |o|
| |o| |o|
| |o| |o|
| |o| |o|
| |o| |o|
| |o| |o| _
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
| |o| |o| |o|
---+------------------------------>
Str() Format() Cstr()

Le meilleur choix est donc Cstr(), qui est le plus rapide tout
en étant fonctionellement le plus riche (prise en compte des
paramètres régionaux, pas d'espace superflu).

Le tour est il complet? :--)



Je pense que oui. :o)
Merci Jean-Marc : du simple au double c'est impressionnant.
CStr et ses confrères ne sont ils pas hérités du C ?
Avatar
jm
"Aski" wrote in message
news:

Le tour est il complet? :--)



Je pense que oui. :o)
Merci Jean-Marc : du simple au double c'est impressionnant.
CStr et ses confrères ne sont ils pas hérités du C ?



Hello,

Non, en fait pas vraiment. En C, il ya une fonction standard (ANSI) pour
convertir
une chaîne en long (atol()) mais sa réciproque qui convertit un long en
chaine (ltoa())
n'est pas standard.

Ceci dit, il est très facile d'écrire en C une implémenation hyper efficace
de cette fonction
et je suppose que Cstr() est implémentée comme cela.

Pour info, la fonction format() est sans doute implémentée en utilisant une
fonction standard
du C (sprintf(...)) qui permet d'écrire sous forme de chaine de caractère
n'importe quelle
variable de n'importe quel type en spécifiant un format. Comme son homologue
VB, la
fonction sprintf(...) est très coûteuse (lente)...

--
Jean-marc
Avatar
Aski
Hello jm,

Tiens, un nouveau pseudo. ;-)

Tu as savamment écrit :

Non, en fait pas vraiment. En C, il ya une fonction standard (ANSI)
pour convertir
une chaîne en long (atol()) mais sa réciproque qui convertit un long
en chaine (ltoa())
n'est pas standard.

Ceci dit, il est très facile d'écrire en C une implémenation hyper
efficace de cette fonction
et je suppose que Cstr() est implémentée comme cela.

Pour info, la fonction format() est sans doute implémentée en
utilisant une fonction standard
du C (sprintf(...)) qui permet d'écrire sous forme de chaine de
caractère n'importe quelle
variable de n'importe quel type en spécifiant un format. Comme son
homologue VB, la
fonction sprintf(...) est très coûteuse (lente)...



Merci de ces informations.
C'est la ressemblance entre Cstr et le type CString qui m'avait fait poser
la question.
1 2 3