|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2008 Messages : 19 ![]() |
Bonjour,
J'ai un fichier num.txt qui contient Quand j'exécute ce code : Code :
dans ma table test. Si quelqu'un sait pourquoi ? et comment obtenir 11000000001977959 Merci d'avance. |
||
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : avril 2008 Messages : 233 ![]() |
Le stockage des entiers sous SAS se fait dans un nombre limité des octets, maximum que tu peux avoir c'est 8 octets. Ces octets sont utilisés soit en IEEE standard (Windows, UNIX), soit en IBM mainframe standard (Open VMS, Alpha). Je suppose qu'il s'agit de Windows ou UNIX, laissons tomber le format IBM.
Format IEEE utilise 8 octets (64 bits) de manière suivante : 1 bits pour le signe, 11 bits pour l'exposant, 52 bits pour la mantisse. Pour rappel : Code :
Nombre = Signe Mantissa * (10 ^ Exposant) Par contre, il y a toujours des solutions. Est-ce que tu veux vraiment traiter ce nombre en tant qu'un numéro ? Est-ce que c'est pas par hasard plusieurs numéros collés l'un derrière l'autre ? Dans le premier cas je te conseillerais soit d'utiliser les chaînes de caractères au lieu des nombres (il faudra implémenter toute l'arithmétique bien sûr), soit abandonner SAS pour des outils mieux adaptés. Dans le deuxième cas - divise les nombres au moment de la lecture du fichier. |
|
|
00
|
|
|
#3 | ||
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2008 Messages : 19 ![]() |
Merci pour cette explication.
Je vais prendre l'option caractère Code :
|
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com