Ich habe eine Nummer und muss für die Formatierung eine Dezimalzahl hinzufügen.Wie kann ich einen Dezimalpunkt vor den letzten drei Ziffern einer Zahl einfügen?
Die Nummer ist garantiert zwischen 1000 und 999999 (Ich habe die anderen Möglichkeiten auf andere Weise abgedeckt, das ist der, den ich nicht verstehen kann). Ich brauche eine Dezimalzahl vor den letzten drei Ziffern zu setzen, zum Beispiel:
1000 -> 1.000
23513 -> 23.513
999999 -> 999.999
Wie kann ich das tun?
Reguläre Ausdrücke sind ein vielseitiges Werkzeug, aber sie sind nicht das * einzige * Werkzeug. Was macht Sie so sicher, dass sie das richtige Werkzeug zum Formatieren einer Nummer sind? –
Große Warnung mit diesem. Die Verwendung eines regulären Ausdrucks kann zu einem unerwarteten Verhalten führen, wenn Sie die Zahlen in Perl manipulieren. Auf meiner Maschine, wenn ich 'my $ num = 11745.041 - 11739.7; print $ num; ', es gibt aus:" 5.34099999999853 ". Das Anwenden der Regex, die in Adams akzeptierter Antwort aufgelistet ist, bevor die print-Anweisung geändert wird, ändert diese in "5.34099999999.853". Wahrscheinlich nicht das, wonach du suchst. Mit '$ num = sprintf ('%. 3f', $ num);' wie die Antwort von @draegtun, ergibt sich das erwartete: "5.341". –