Percentage Word Problems (with Answers)
Percentage word problems explained with a three-step method, covering discounts, tax, tips and percent change. It also covers percent word problems, percentage worksheets and percentage questions, with worked answers and an answer key.
A jacket costs $80 with 30% off, and the question asks what you pay. Most wrong answers come from the first decision, which number the 30% is a percentage of, not from the arithmetic.
This page gives a three-step method for percentage word problems and 12 worked problems with answers, from finding 40% of a class to undoing a discount. A 10-question worksheet with an answer key follows, and each problem type links to its calculator.
How to solve percentage word problems
Quick answer: find the whole, which is the amount the percentage is of, turn the percentage into a decimal, then use part = rate × whole. For the $80 jacket at 30% off, 30% of 80 is 24, so you pay $80 − $24 = $56.
The three-step method
- Find the whole. It is the number after "of", or the original or starting amount.
- Turn the percentage into a decimal by dividing by 100, so 8.5% is 0.085.
- Decide which piece is missing, the part, the rate or the whole, and solve for it. Then put your answer back into the problem to check it.
part = rate × wholerate = part ÷ wholewhole = part ÷ rateHere the rate is the decimal form of the percentage. Multiply it by 100 to read the rate as a percent again.
Reading the wording
"Of" means multiply, so 40% of 30 is 0.4 × 30. "Is" means equals. "Off" and "discount" mean subtract the part from the whole, while "plus tax", "increase" and "tip" mean add it. "What percent" makes the rate the unknown, and "of what" makes the whole the unknown.
Percent problems without a calculator
Find 10% by moving the decimal point one place, then build from there. 15% of 240 is 10% (24) plus half of that (12), which is 36. For 1%, move the point two places.
Percentage change problems
When a value changes, the new amount is the old amount × (1 + rate), with a negative rate for a decrease. To find the rate, divide the change by the old value. To go backwards and find the old value, divide the new one by 1 + rate. This is where most hard problems go wrong, so problems 9 to 12 cover it.
Percentage word problems with answers
The problems run from easy to hard. Work each one before you read the solution.
Problem 1: Find the part (easy)
Given
Step 1
The whole is 30 and the rate is 0.40.
Answer
Problem 2: Find the percent (easy)
Given
Step 1
Divide the part by the whole: 36 ÷ 48 = 0.75.
Answer
Problem 3: Find the whole (easy)
Given
Step 1
18 is the part and 0.45 is the rate
Answer
Problem 4: Discount (medium)
Given
Step 1
The discount is 0.20 × 450 = $90
Answer
Problem 5: Sales tax (medium)
Given
Step 1
The tax is 0.085 × 60 = $5.10
Answer
Problem 6: Tip (medium)
Given
Step 1
The tip is 0.18 × 45 = $8.10
Answer
Problem 7: Percent increase (medium)
Given
Step 1
The change is 1,350 − 1,250 = 100.
Answer
Problem 8: Percent decrease (medium)
Given
Step 1
The change is 7,200 − 8,000 = −800.
Answer
Problem 9: Find the original price (hard)
Given
Step 1
The $96 is 80% of the original
Answer
Problem 10: Increase then decrease (hard)
Given
Step 1
Start at $100. After the 20% rise it is $120, and 20% off $120 is $24, leaving $96.
Answer
Problem 11: Discount then tax (hard)
Given
Step 1
After the discount the price is 200 × 0.75 = $150.
Answer
Problem 12: Find the amount before an increase (hard)
Given
Step 1
The new salary is 115% of the old one
Answer
Percentage worksheet with answer key
Ten percentage questions with no worked solutions, as percentage practice problems in the same order of difficulty. Cover the key and try them first. Most percentage worksheets give the answer without the working, so use the 12 worked problems above to check your method.
- What is 15% of 240?
- What percent of 80 is 20?
- 12 is 30% of what number?
- A $65 pair of shoes is 20% off. What is the sale price?
- A $120 bill has a 15% tip added. What is the total?
- A phone rises in price from $400 to $460. What is the percent increase?
- A share falls from $50 to $42. What is the percent decrease?
- After a 25% increase a bike costs $250. What did it cost before?
- A $90 item is 10% off, then a further 10% off. What is the final price?
- A recipe uses 2.5 cups of flour and is scaled up by 40%. How much flour does it need?
| Question | Answer |
|---|---|
| 1 | 36 |
| 2 | 25% |
| 3 | 40 |
| 4 | $52 |
| 5 | $138 |
| 6 | 15% |
| 7 | 16% decrease |
| 8 | $200 |
| 9 | $72.90 |
| 10 | 3.5 cups |
Percentage word problem code
These functions take rates as percentages, such as 8.5 for 8.5%, and return the numbers used in the problems above. The JavaScript version works in floating point, so round the result when you display it. The Python version uses exact fractions, so 8.5% of 60 is exactly 51/10.
JavaScript
export function percentOf(rate, whole) { return (whole * rate) / 100;}export function whatPercent(part, whole) { if (whole === 0) throw new RangeError("whole must not be zero"); return (part / whole) * 100;}export function wholeFrom(part, rate) { if (rate === 0) throw new RangeError("rate must not be zero"); return (part * 100) / rate;}export function applyChange(value, rate) { return (value * (100 + rate)) / 100;}export function undoChange(value, rate) { if (rate === -100) throw new RangeError("a 100% decrease cannot be undone"); return (value * 100) / (100 + rate);}export function percentChange(oldValue, newValue) { if (oldValue === 0) throw new RangeError("old value must not be zero"); return ((newValue - oldValue) / Math.abs(oldValue)) * 100;}Python
from fractions import Fractiondef _f(x): return Fraction(str(x))def percent_of(rate, whole): return _f(whole) * _f(rate) / 100def what_percent(part, whole): if _f(whole) == 0: raise ZeroDivisionError("whole must not be zero") return _f(part) / _f(whole) * 100def whole_from(part, rate): if _f(rate) == 0: raise ZeroDivisionError("rate must not be zero") return _f(part) * 100 / _f(rate)def apply_change(value, rate): return _f(value) * (100 + _f(rate)) / 100def undo_change(value, rate): if _f(rate) == -100: raise ZeroDivisionError("a 100% decrease cannot be undone") return _f(value) * 100 / (100 + _f(rate))def percent_change(old, new): if _f(old) == 0: raise ZeroDivisionError("old value must not be zero") return (_f(new) - _f(old)) / abs(_f(old)) * 100For Problem 11, applyChange(applyChange(200, -25), 8) returns 162. For Problem 12, undoChange(48300, 15) returns 42000. percentChange divides by the absolute old value, so a loss shrinking from −50 to −25 reads +50%, the same convention as the percentage change calculator.
Privacy and input safety
The practice set runs in your browser. Answers are part of the page text, nothing you type is sent to a server or stored, and the page is a practice aid, not a timed test.
If a check-your-answer box is added, it accepts a number with an optional $ or % sign and optional thousands separators, applies the same comma rule as the other calculators (a comma followed by exactly three digits is a thousands separator, any other comma is a decimal point), and accepts an answer within half a unit of the last decimal place shown. Text, empty fields, NaN and Infinity are rejected with a message, and nothing typed is ever evaluated as code.
Common percentage problem mistakes
| Mistake | What goes wrong | Fix |
|---|---|---|
| Taking the percentage of the wrong number | 30% off $80 worked out on the sale price, not the original | Name the whole before you calculate |
| Adding successive percentages | 20% off then 20% off is 36% off, not 40% ($100 becomes $64) | Multiply the factors: 0.8 × 0.8 = 0.64 |
| Reversing a discount by adding it back | $96 after 20% off plus 20% is $115.20, not $120 | Divide by 0.80 |
| Forgetting to convert the percentage | 8.5% of 60 as 8.5 × 60 gives 510, not 5.10 | Divide the rate by 100 first |
| Dividing the change by the new value | $400 to $460 gives 13.04% when divided by 460, not 15% | Divide by the old value |
| Netting rates together | 25% off with 8% tax as "17% off" gives $166, not $162 | Apply each change in turn |
| Rounding the decimal too early | One third of 90 as 0.33 × 90 gives 29.7, not 30 | Keep full precision until the last step |
| Mixing percent and percentage points | 5% to 8% is 3 points, which is a 60% increase | Say which one the question asks for |
Percentage word problems by type
| Type | Question looks like | Method | Example | Calculator |
|---|---|---|---|---|
| Find the part | What is 15% of 240? | rate × whole | 36 | Percentage calculator |
| Find the percent | 36 is what percent of 48? | part ÷ whole × 100 | 75% | Percentage calculator |
| Find the whole | 12 is 30% of what? | part ÷ rate | 40 | Reverse percentage calculator |
| Discount, tax and tip | $450 at 20% off | value × (1 ± rate) | $360 | Add and subtract percentage calculator |
| Increase or decrease | $1,250 to $1,350 | change ÷ old value | +8% | Percentage change calculator |
| Undo a change | $96 after 20% off | value ÷ (1 ± rate) | $120 | Reverse percentage calculator |
Most percent word problems are one of the first three types with an extra step. Spot the type, name the whole, then solve.