Javascript umschreiben Tausender durch Punkte trennen?
Hallo!
Ich möchte einen Javascript Zähler der grosse Zahlen darstelle umändern. Bis jetzt wird eine grosse Zahl einfach ausgeschrieben ohne Punkte. Ich möchte dass die Zahl jeden Tausenderschritt einen Punkt erhält, also z.B. aus 20384938485 wird 20.384.938.485 damit es besser lesbar ist. Vierstellige Zahlen sollen noch keinen Punkt erhalten, diese kann man ja noch sehr gut lesen.
Weiss jemand wie man das in JS löst?
Hier ist das JS: http://live-counter.com/punkt-test/counter.js
Die Seite auf der der Counter läuft, einfach das counter.js weglassen (Hier darf man nur einen Link posten)
DANKE!
2 Antworten
Hier ist das neue counter.js: http://pastebin.com/raw/3E8zVPJw
Geändert wurde nur eine Zeile, nämlich Zeile 76.
Von:
var characters = (value + "").split(''),
Zu:
var characters = (value.toLocaleString('de-DE')).split(''),
PS: Hier haben vierstellige Zahlen nun einen Trennpunkt, aber das als Extrafall zu behandeln, wäre programmiertechnisch wirklich extrem unschön. Kannst du damit so leben?
Oh jemine, dann müsste ich die Schriftart ändern? Davon habe ich noch weniger Plan als von JS. Ich habe nur eine .svg und eine .eot Datei die nur Hieroglyphische Zeichenfolgen enthalten. Muss mich mal schlau machen wie man diese editieren kann.
Nochmal Danke für Deine Hilfe!
Gerne doch :)
Bezüglich Schriften, hier mal ein Anhaltspunkt:
Weiterhin kann man mit CSS3 dann schön Schatten auf die Schriftarten legen, sodass man überhaupt nicht mit .svg und .eot hantieren muss, um ein ansehnliches Ergebnis zu erzeugen.
So kann das dann z.B. aussehen: http://codepen.io/anon/pen/BQQpQd
Zu dem CSS Kram noch als Referenz: http://www.w3schools.com/cssref/css3_pr_text-shadow.asp
Guten Abend und Danke für die Zusatzinfos! Werde das morgen eingehend durchgehen. Meine verwendete Schriftart habe ich gekauft, weil ich diese Digital-Schrift sonst nirgends gefunden habe.
Wandle die Zahl in einen String um und arbeite damit.
Das dürfte nicht gehen, da die Zahl so wie sie dargestellt wird live nach oben zählt, so wie die bekannte Schuldenuhr.
Als String umwandeln, dann könnte ich diese nur als statische Zahl ausgeben.
Ich gestehe dass ich in JavaScript nicht der Profi bin.
Könntest Du die Umprogramierung vornehmen? Soll natürlich nicht umsonst sein. Wichtig ist, dass die Performance nicht leidet, sprich die Counter danach genau so flüssig laufen.
Hallo polygamma,
Super, Danke! Hoffe wohl gespeist zu haben :)
Dass die vierstelligen Zahlen auch einen Trennpunkt haben ist kein Problem.
Aber vor jedem Punkt ist ein etwas grosser Leerraum. Ist wohl kein Leerzeichen so viel ich sehe. Kann man diesen noch irgendwie kleiner machen?