Comment puis-je insérer un point décimal avant les trois derniers chiffres d'un nombre?
J'ai un certain nombre et de la nécessité d'ajouter une décimale pour la mise en forme.
Le nombre est garanti d'être entre 1000 et 999999 (j'ai couvert les autres possibilités dans d'autres façons, c'est celle que je ne peux pas obtenir ma tête autour). J'ai besoin de mettre une virgule avant les 3 derniers chiffres, par exemple:
1000 -> 1.000
23513 -> 23.513
999999 -> 999.999
Comment puis-je faire cela?
source d'informationauteur alexwood
Vous devez vous connecter pour publier un commentaire.
Qui dit: Prenez un bloc de 3 chiffres (qui doit être ancré à la FIN de la chaîne) et les remplacer par un "
.
", suivi par tout ce qui était juste de correspondance.Et encore une autre façon pour le fun 😉
Voici une autre solution juste pour le plaisir:
En Perl substr() peut être une lvalue, qui peuvent les aider dans votre cas.
va ajouter un point avant les trois derniers chiffres.
Vous pouvez également utiliser les quatre arguments version de substr (comme indiqué dans les commentaires) pour obtenir le même effet:
J'espère que c'est plus élégant /lisible que la regexp solution, mais je suis sûr qu'il va se débarrasser de quiconque n'est pas utilisé pour substr() étant utilisé comme une lvalue.
Golf quelqu'un?
Suis-je manqué quelque chose? Si vous avez un nombre entre 999999 et 1000 qui devrait représenter un nombre entre 999.999 et 1.000 vous devriez être capable de:
$num /= 1000.000;
/PF
Comment à ce sujet?