Transformer un nombre réel en texte

Forum destiné aux questions et discussions en français
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Transformer un nombre réel en texte

Post by openBrain »

Shalmeneser wrote: Fri Apr 30, 2021 2:47 pm Pourquoi cette différence de fonctionnement pour %a :
* Freecad : valeur avec au moins un chiffre après la virgule + l'unité
* Autre : hexadécimal en minuscule
D'abord je pense que ton référentiel est un peu faussé. :)

Dans les languages C/C++/Java, %a n'est pas particulièrement l'hexadecimal (qui est %x) mais la représentation en hexadecimal des nombres décimaux. Ce qui avouons le n'est jamais affiché pour l'utilisateur mais seulement pour le programmeur.

FreeCAD utilise Python pour l'interprétation des fonctions de formule, et utilise donc le %a de Python :
%a will give the equivalent of repr(some_obj).encode('ascii', 'backslashreplace') on the interpolated value. Use cases include developing a new protocol and writing landmarks into the stream; debugging data going into an existing protocol to see if the problem is the protocol itself or bad data; a fall-back for a serialization format; or any situation where defining __bytes__ would not be appropriate but a readable/informative representation is needed
Attention à la subtilité pour ceux qui joue avec ça : si on fait '%.Nf', N représente le nombre de décimales, mais si on fait '%.Ng', N représente le nombre de chiffres significatifs.
User avatar
Forthman
Veteran
Posts: 2650
Joined: Fri Apr 27, 2018 11:23 am
Location: Tarn-et-Garonne (82)

Re: Transformer un nombre réel en texte

Post by Forthman »

attendez, vous battez pas, j'ai cherché sur le net les formats d'expressions numériques, et j'ai fait des essais.
donc le fonctionnement du %a c'est "mon" interprétation :mrgreen:
d'ailleurs le %r fait pareil :P
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Transformer un nombre réel en texte

Post by Shalmeneser »

Pour l'hexa, je n'avais pas développé, car en effet personne n'est censé s'en servir au quotidien.

Cependant, ce n'est pas moi mais le wiki qui redirige vers du C.
Le lien proposé pour l'application en ligne beugue pour %a.
Alors que son fonctionnement fait bien ce que Forthman explique.
Bizarre !
openBrain
Veteran
Posts: 9034
Joined: Fri Nov 09, 2018 5:38 pm
Contact:

Re: Transformer un nombre réel en texte

Post by openBrain »

Shalmeneser wrote: Fri Apr 30, 2021 3:26 pm Pour l'hexa, je n'avais pas développé, car en effet personne n'est censé s'en servir au quotidien.

Cependant, ce n'est pas moi mais le wiki qui redirige vers du C.
Le lien proposé pour l'application en ligne beugue pour %a.
Alors que son fonctionnement fait bien ce que Forthman explique.
Bizarre !
Le wiki est pour TechDraw (si je ne dis pas de bêtise). Or TechDraw formate les chaines suivants le formatage C, donc le wiki est correcte.
Par contre les expressions sont formatés selon le formatage Python. ;)
Forthman wrote: Fri Apr 30, 2021 3:23 pm d'ailleurs le %r fait pareil :P
Toujours la PEP 461
%r is included as a synonym for %a for the sole purpose of making 2/3 code bases easier to maintain. Python 3 only code use %a
User avatar
Shalmeneser
Veteran
Posts: 9475
Joined: Wed Dec 23, 2020 12:04 am
Location: Fr

Re: Transformer un nombre réel en texte

Post by Shalmeneser »

Vaut mieux un qui sait, que dix qui cherchent.
Merci pour toutes ces informations.
User avatar
papyblaise
Veteran
Posts: 7877
Joined: Thu Jun 13, 2019 4:28 pm
Location: France

Re: Transformer un nombre réel en texte

Post by papyblaise »

Vaut mieux un qui sait, que dix qui cherchent.
Pas d'accord , si yavait pas eu un matin un mec pour se dire "Marre d'Automachin on Dassault bidule" , je vas faire un CAD free , tu pourrais pas faire mumuse en ce moment
User avatar
2cv001
Posts: 484
Joined: Wed Jan 01, 2020 9:30 am

Re: Transformer un nombre réel en texte

Post by 2cv001 »

@Forthman
En tout cas, ça marche super bien ton truc. Je viens encore de m'en resservir.

sinon,
papyblaise wrote: Sat May 01, 2021 8:22 am Vaut mieux un qui sait, que dix qui cherchent.

Pas d'accord , si yavait pas eu un matin un mec pour se dire "Marre d'Automachin on Dassault bidule" , je vas faire un CAD free , tu pourrais pas faire mumuse en ce moment
Tien au fait qui peut nous dire l'origine de Freecad ?
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
User avatar
-alex-
Veteran
Posts: 1857
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: Transformer un nombre réel en texte

Post by -alex- »

C'est là History/fr ;)
User avatar
2cv001
Posts: 484
Joined: Wed Jan 01, 2020 9:30 am

Re: Transformer un nombre réel en texte

Post by 2cv001 »

Merci !
Macro Sketch Constraint From Spreadsheet :
https://wiki.freecad.org/Macro_Sketch_C ... adsheet/fr
Post Reply