Y a-t-il un moyen simple de s'assurer que, lorsqu'il est converti en cordes, des nombres approximatifs (c'est-à-dire des chiffres avec la tête code> la tête code> la tête) "."? Je l'aimerais s'ils n'avaient que le point décimal dans des cas où il y a une partie fractionnelle affichée. p>
Les solutions que j'ai trouvées ne sont pas robustes et dépendent de l'utilisation de Merci d'avance. P> précision code> et
de précision code> ensemble
numéro de numéro code> de manière gênante, ou en utilisant
realDigits code> d'une manière encore plus gênante. P>
4 Réponses :
Je viens probablement de post-traiter la chaîne. C'est plus rapide (et plus facile) de vérifier si le dernier caractère est "". que de faire des arithmétiques redondants et de prendre en compte tous les paramètres de précision.
Edit: Vous le savez peut-être, mais vous pouvez faire quelque chose comme ceci: p>
userToString[expr_, form___] := ToString[expr,form]; userToString[expr_Real, form___] := removeTrailingDot[ToString[expr,form]];
J'ai utilisé cela dans le passé lors de l'affichage des chiffres sur les figures:
NormalNumber /@ {5, 5.5, 123.001, 123.0001}
Je viens d'essayer cela et j'ai constaté qu'il se casse pour une integérance [123.0001] (il renvoie une chaîne se terminant par une fuite ".").
Je recommande ceci:
(* Show Number. Convert to string w/ no trailing dot. Round to the nearest r. *) Unprotect[Round]; Round[x_,0] := x; Protect[Round]; re = RegularExpression; shn[x_, r_:0] := StringReplace[ ToString@NumberForm[Round[N@x,r], ExponentFunction->(Null&)], re@"\\.$"->""]
Cela joue le rôle de retirer en retrait dans ma réponse. En outre, bien sûr que je suis bien sûr un énorme fan de regex, il est plus rapide de faire la manipulation directe des chaînes - vérifiez le dernier caractère et laissez-le tomber si c'est «». La regex est plus rapide à personnaliser, bien sûr, et peut-être que la vitesse n'est pas une question - mais ce type de fonction peut être appelé à plusieurs reprises. (Vous pouvez également compiler la fonction - ne sait pas du haut de ma tête si cela fonctionne avec regex)
Les fonctions La sortie Mathematica par défaut est reproduite, mais le point de fuite est supprimé. P> p> NumberForm code>,
Scientificform code>,
Ingénierie code>, etc. ... offre l'option
numberFormat code> au format et organiser la mantissie, la base et l'exposant d'un nombre. Avec