2012-04-18 3 views

ответ

91
$percentage = 50; 
$totalWidth = 350; 

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

Никто не заботится о $ totalWidth = 0 ... Почему? –

+2

@GeorgyLiparteliani, потому что любой процент от нуля равен нулю. Переменная $ totalWidth не является дивидендом, является мультипликатором. – jloria

+4

50% из 350 = 175 Я бы сделал это таким образом, это более логично для меня: '($ totalWidth * $ percent)/100' то же самое, но мне оно больше нравится. – vinsa

11

Разделите $percentage на 100 и умножьте на $totalWidth. Простая математика.

+0

в случае, если тип является целым числом, то лучше, если умножить первое, затем разделить на 100. Пример при разделении первого: INT ответ = 50/100 = 0,5 (интермедиат округляет от 0,5 до 1); ответ * ширина = 1 * 350 = 350. D'oh. – Ozzy

+2

@ Оззи-типы здесь неважны. Если вычисление приводит к доле, результат будет автоматически поплавка и не будет округлен. – deceze

Смежные вопросы