2012-04-18 30 views

Respuesta

91
$percentage = 50; 
$totalWidth = 350; 

$new_width = ($percentage/100) * $totalWidth; 
+2

A nadie le importa $ totalWidth = 0 ... ¿Por qué? –

+2

@GeorgyLiparteliani porque cualquier porcentaje de cero es cero. La variable $ totalWidth no es el dividendo, es un multiplicador. – jloria

+4

50% de 350 = 175 Lo haría de esa manera, es más lógico para mí: '($ totalWidth * $ percentage)/100' es lo mismo, pero me gusta más. – vinsa

11

Dividir $percentage por 100 y multiplicar por $totalWidth. Matemáticas simples

+0

en caso de que el tipo es un número entero que es mejor si se multiplica primero, y luego dividir por 100. Ejemplo cuando se divide primero: int respuesta = 50/100 = 0,5 (int redondea 0,5 a 1); respuesta * ancho = 1 * 350 = 350. D'oh. – Ozzy

+2

@Ozzy Los tipos no importan aquí. Si un cálculo resulta en una fracción, el resultado será automáticamente un flotante y no se redondeará. – deceze

Cuestiones relacionadas