je viens de détecter un comportement bizarre dans OOo et je ne sais pas si c'est lié à giac ou à OOo.
quand je renvoie dans une cellule un nombre du style 1.8-i je le renvoie comme chaine de caractères.
Mais je ne veux pas renvoyer 1,8-i car ce nombre pourrait être réutilisé comme entrée d'une autre formule et la virgule ne serait pas interprétée comme séparateur décimal par giac. Donc je veux absolument que ma chaine garde le point renvoyé par giac.
Curieusement le code :
Code : Tout sélectionner
gen f(string("1.8-i"),contextptr);
static std::string es;
es=f.print(contextptr);
OString oes=es.c_str();
OUString resultat=OUString::createFromAscii(oes);
Si j'attends quelques secondes et que j'actualise la cellule, OOo affiche bien 1.8-i
J'ai donc cru à un bug OOo mais si je change le code :
Code : Tout sélectionner
static std::string es;
es="1.8-i";
OString oes=es.c_str();
OUString resultat=OUString::createFromAscii(oes);
Est-ce que f.print(contextptr) tiendrait compte d'une localisation quelconque ?
J'ai changé le séparateur décimal dans OOo pour le point mais j'ai toujours une virgule qui apparaît à l'ouverture du document.
Je ne sais pas trop quoi faire là....
A+