2016-12-25 5 views
4

Ich schreibe etwas, das einige Daten aus dem Internet holt; Die Sache ist, dass einer der Schlüssel vom Objekt, das ich bekomme, Gewicht und Höhe hat und nun, sie sind nicht formatiert; sie sind wie eine ganze Zahl; jetzt, zum Beispiel; wenn ich einen weight Schlüssel mit einem Wert von 1000 bekomme, bedeutet das, dass es 100,0kg ist; nicht nur 1000, gleich mit der height, aber manchmal kann ich etwas wie 10 auf height bekommen, die 0,99m oder 1m ist; 100 ist 10.0m und so weiter, also meine Frage ist; Was kann ich hier tun, um diese Werte richtig zu formatieren, indem ich ein .0 zum letzten hinzufüge, wenn der Wert es nicht hat, und wenn es nur hat, addiere den Dezimalpunkt vor dem letzten Zeichen? Ich habe versucht, einige ifs, aber sie waren hart codiert und ich sah sehr schlecht aus, und es hat nicht funktioniert.Dezimalpunkt zum letzten Zeichen hinzufügen

Ausgabe, die ich

Beispiel bekommen:

Weight: 1000 
Height: 20 

Weight: 69 
Height: 7 

Weight: 432 
Height: 12 

Erwartete Ausgabe:

Weight: 100.0 
Height: 2,0 

Weight: 6.9 
Height: 0.7 

Weight: 43.2 
Height: 1.2 
+0

Können Sie teilen sich die Zahlen von 10? –

+0

konvertieren Sie die Zahlen in Zeichenfolge. Wenn die Länge der Zeichenfolge größer als 1 ist, entfernen Sie das letzte Zeichen aus der Zeichenfolge, verketten Sie einen Punkt und fügen Sie das letzte Element erneut an. done – khuderm

+0

@ AndrewMorton Lösung scheint die einfachste – khuderm

Antwort

4

Sie könnten durch 10 teilen und verwenden Number#toFixed eine Nummer für die Formatierung.

Die Methode formatiert eine Zahl mit Festkomma-Notation.

var values = [1000, 20, 69, 7, 432, 12]; 
 

 
values = values.map(function (v) { 
 
    return (v/10).toFixed(1); 
 
}); 
 

 
console.log(values);

+0

nicht was op fragt – khuderm

+0

@ khuderm, aber benötigt. –

Verwandte Themen