Bonjour,
Est-ce que l’export d’un Decimal(100,32) pourrait être identique à un Decimal (Double) : séparateur “,”
Actuellement, un decimal(100,32) est exporté avec un séparateur “.”
Cordialement,
Bonjour,
Est-ce que l’export d’un Decimal(100,32) pourrait être identique à un Decimal (Double) : séparateur “,”
Actuellement, un decimal(100,32) est exporté avec un séparateur “.”
Cordialement,
Bonjour,
Les BigDecimal Java sont traités comme des String dans les interfaces pour ne pas perdre en précision (pas de cast en double, pas de notation exponent, ni d’API utilisant des double…).
Simplicité peut effectivement rendre homogène les exports textuels (XML, CSV…) en fonction de la langue : séparateur virgule ou point mais dans un format string(100). Rien ne garantie que Excel supporte les BigDecimal au final = il faudra rester dans un format String sinon il y aura une perte de précision irréversible = impossibilité de faire des sommes de big decimal dans excel, etc.
Un simple teste montre que Excel cast en double (exponent) un vrai big decimal, donc pourquoi ne pas modéliser un simple decimal directement (pour vos exports uniquement) si la finalité de la donnée se trouve dans Excel à un moment donné pour y faire des sommes ?
Gogol+1 =
“10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001” dans Simplicité
~= 1E+100 dans excel
Donc si le besoin est de calculer des centimes sur un nombre Gogol, il faudra utiliser autre chose que Excel…
Evol non réalisée (testé en 5.3), c’est toujours un “.” dans l’export XML.
Au passsage ce serait bien de pouvoir définir le nombre de décimales affichées plutôt que d’arronir à 2 par défaut
L’export XML est particulier et doit rester avec un point “.” = format technique des virgules en informatique depuis toujours. Les décimaux ne sont pas exportés dans la langue de l’utilisateur, mais dans la langue de la machine.
Le sujet du post était l’export Excel qui comme indiqué est inadapté à gérer des BigDecimals. L’export est donc textuels. De plus Excel ne fonctionna pas pareil s’il est installé en anglais ou en français.
Je ne sais plus pourquoi la UI arrondit à 2 décimales l’affichage :
C’est trop complexe à modifier à ce stade.
A défaut de meilleur solution, le nombre maximal affiché sera de 5 décimales au lieu de 2.