2010-02-05 27 views
16

Necesito redondear al 0.10 más cercano, con un mínimo de 2,80Round Up cercana 0,10

var panel; 
if (routeNodes.length > 0 && (panel = document.getElementById('distance'))) 
{    
    panel.innerHTML = (dist/1609.344).toFixed(2) + " miles = £" + (((dist/1609.344 - 1) * 1.20) + 2.80).toFixed(2); 
} 

cualquier ayuda se agradece

Respuesta

20
var number = 123.123; 

Math.max(Math.round(number * 10)/10, 2.8).toFixed(2); 
+3

+1 para .toFixed() –

0

para redondear al más cercano 0.10 se puede multiplicar por 10, luego se redondea (usando Math.round), y se divide por 10

+0

¿Cómo se escribe eso? es la parte de redondeo. No sé cómo –

3

Multiplicar por 10, a continuación, hacer su redondeo, y se divide por 10 de nuevo

(Math.round(12.362 * 10)/10).toFixed(2) 

Otra opción es:

Number(12.362.toFixed(1)).toFixed(2) 

En su código:

var panel; 
if (routeNodes.length > 0 && (panel = document.getElementById('distance')))  
{    
    panel.innerHTML = Number((dist/1609.344).toFixed(1)).toFixed(2) 
        + " miles = £" 
        + Number((((dist/1609.344 - 1) * 1.20) + 2.80).toFixed(1)).toFixed(2); 
} 

Declarar un mínimo, utilice la función Math.max:

var a = 10.1, b = 2.2, c = 3.5; 
alert(Math.max(a, 2.8)); // alerts 10.1 (a); 
alert(Math.max(b, 2.8)); // alerts 2.8 because it is larger than b (2.2); 
alert(Math.max(c, 2.8)); // alerts 3.5 (c); 
+0

@Tuffy G: Es solo un número aleatorio que saqué de mi cabeza, reemplácelo con el número que quiera redondear al '.10' más cercano. –

+0

@Tuffy G: ¿Tal vez mi edición te ayudará a entender mejor? –

+0

Eso está hecho. hay una forma en que puedo hacer que muestre mínimo 2.80 –

1
var miles = dist/1609.344 
miles = Math.round(miles*10)/10; 
miles = miles < 2.80 ? 2.80 : miles; 
7

Si necesita a Round Up, utilice Math.ceil:

Math.max(Math.ceil(number2 * 10)/10, 2.8) 
0

Redondea a la décima más cercana:

Math.max(x, 2.8).toFixed(1) + '0' 

Round up:

Math.max(Math.ceil(x * 10)/10, 2.8).toFixed(2)