2016-05-03 9 views
0

Ich möchte die Zahl in einem bestimmten Format in jquery rundenwie kann die nummer in einem bestimmten format abgerundet werden?

Für ex.

var First = 3.52 

wenn letzter Wert Nachkommastelle 2 weniger als 3, dann sollte es auf 0

rund sein, wenn letzten Wert nach dem Dezimalpunkt 2 beetween wird dann 3 bis 7 dann sollen sie rund sein bis 5

wenn letzter Wert hinter dem Komma 2 ist mehr als 7 dann soll es rund

Wie

-10 seine
if(var First = 1.21) { var Answer = 1.20 } 
if(var First = 1.24) { var Answer = 1.25 } 
if(var First = 1.28) { var Answer = 1.30 } 

ich versucht habe Runde und Ceil, Boden, aber nicht funktioniert für mich

Antwort

1

Um dies zu erreichen Sie Math.round() auf 0,05, wie diese verwenden:

Math.round(number * 20)/20; 

einfacher machen es möglich extrahieren dies auf eine Funktion:

console.log(round(1.21)); // = 1.20 
 
console.log(round(1.24)); // = 1.25 
 
console.log(round(1.28)); // = 1.30 
 

 
function round(num) { 
 
    return (Math.round(num * 20)/20).toFixed(2); 
 
}

Beachten Sie die Verwendung von toFixed(2), um das Ergebnis auf 2 Dezimalstellen zu erzwingen. Beachten Sie, dass diese Methode eine Zeichenfolge zurückgibt. Wenn Sie also Berechnungen mit dem Wert ausführen möchten, müssen Sie das Ergebnis über parseFloat() ausführen.

+0

Und kombinieren Sie es mit ToFixed: '[1.21, 1.24, 1.28, 3.52] .map (v => (((v * 20) | 0)/20) .toFixed (2))' –

+0

@ DenysSéguret Danke, verpasste den Zwang zu 2dp. –