Frage von Live4, 17

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!

Antwort
von polygamma, 3

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?

Kommentar von Live4 ,

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?

Kommentar von polygamma ,

Das liegt an der verwendeten Schriftart und nicht am JavaScript. Dort befindet sich kein Leerzeichen.

Kommentar von Live4 ,

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!

Kommentar von polygamma ,

Gerne doch :)

Bezüglich Schriften, hier mal ein Anhaltspunkt:

https://fonts.google.com/

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

Kommentar von Live4 ,

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.

Antwort
von polygamma, 10

Wandle die Zahl in einen String um und arbeite damit.

Kommentar von Live4 ,

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.

Kommentar von polygamma ,

Hast du jemals mit JavaScript zu tun gehabt?

Kommentar von Live4 ,

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.

Kommentar von polygamma ,

Klar, das ist keine große Sache und das mache ich auch gerne umsonst. Gibt gleich Essen und danach mache ich es und stelle den neuen Quelltext hier rein.

Antwort
von polygamma, 12

Alternativ, wenn du faul bist und es nicht selbst schreiben willst: https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Nu...

Keine passende Antwort gefunden?

Fragen Sie die Community