2011-10-28 25 views
-2

如何根據PHP的百分比增加一個數字?通過php分配一個實數的自然數?

例如:100 + 20% = 1201367 + 33% = 1818.11

如果輸出是這樣的:1818.11我想僅此:或該12.32 = 12546.98 = 546

它是如何?

+0

是不是這個基本的數學?使用分數。 100 + 100 *(20/100)= 120 – hafichuk

+0

這是怎麼回事:'1367 + 33%= 1818.11' – JimBo

+1

@JimBo - 這是不正確的。 PHP中的%是模數運算符。 –

回答

3

我不知道,如果你正在尋找更深層的東西,但答案似乎非常簡單...

$increasedValue = floor($value * (1 + ($percentageIncrease/100))); 

如果包裹在一個函數,說increaseByPercentage($value, $percentageIncrease),你會得到.. 。

increaseByPercentage(100, 20); //returns 120 
increaseByPercentage(1367, 33); //returns 1818 

編輯基於您的評論
,我不知道你在找別的什麼。 PHP has 6 arithmetic operators

  • 否定( - $ A)
    -5 = -5

  • 加成($一個+ $ b)中
    5 + 3 = 8

  • 減法($ a - $ b)
    5 - 3 = 2

  • 乘法($一個* $ b)中
    5 * 3 = 15

  • 司($ A/$ b)中
    5/3 = 1.667

  • 模量($ a%$ b)
    5%3 = 2

如果你寫一行代碼說$a = 100 + 20%;它不會解析。

0
function addPercent($number, $percent) 
{ 
    return (int)($number+$number*($percent/100)); 
} 
echo addPercent(1367, 33); // 1818 

只是將結果轉換爲整數。

+0

這個'1367 + 33%= 1818.11'與PHP怎麼樣? – JimBo

+0

不要辜負你在說什麼?這只是數學。 –

+0

@JimBo'(int)'33%''或'$ var =(int)$ var'在你的情況下。 :) –

0

編輯:我的方法不太對。看起來Farray也列出了更好的一個。


這是你想要的嗎?

round(156 + 156 * (20/100)) 

通常沒有round()這將= 187.2。與round(),它等於187.

+0

需要使用'floor()'來得到他要找的東西。例如「546.98 = 546」將輪到547 – Farray

+0

@Farray Ahhh好眼睛。感謝您指出了這一點! –

+0

或just(int)$ result:o –