This is one of the projects for freeCodeCamp's Front End Development Libraries Certification
- My calculator should contain a clickable element containing an
=
(equal sign) with a correspondingid="equals"
. - My calculator should contain 10 clickable elements containing one number each from 0-9, with the following corresponding IDs:
id="zero"
,id="one"
,id="two"
,id="three"
,id="four"
,id="five"
,id="six"
,id="seven"
,id="eight"
, andid="nine"
. - My calculator should contain 4 clickable elements each containing one of the 4 primary mathematical operators with the following corresponding IDs:
id="add"
,id="subtract"
,id="multiply"
,id="divide"
. - My calculator should contain a clickable element containing a
.
(decimal point) symbol with a correspondingid="decimal"
. - User Story #5: My calculator should contain a clickable element with an
id="clear"
. - My calculator should contain an element to display values with a corresponding
id="display"
. - At any time, pressing the
clear
button clears the input and output values, and returns the calculator to its initialized state; 0 should be shown in the element with the id ofdisplay
. - As I input numbers, I should be able to see my input in the element with the id of
display
. - In any order, I should be able to add, subtract, multiply and divide a chain of numbers of any length, and when I hit =, the correct result should be shown in the element with the id of display.
- When inputting numbers, my calculator should not allow a number to begin with multiple zeros.
- When the decimal element is clicked, a . should append to the currently displayed value; two . in one number should not be accepted.
- I should be able to perform any operation (+, -, *, /) on numbers containing decimal points.
- If 2 or more operators are entered consecutively, the operation performed should be the last operator entered (excluding the negative (-) sign). For example, if 5 + * 7 = is entered, the result should be 35 (i.e. 5 * 7); if 5 * - 5 = is entered, the result should be -25 (i.e. 5 * (-5)).
- Pressing an operator immediately following = should start a new calculation that operates on the result of the previous evaluation.
- My calculator should have several decimal places of precision when it comes to rounding (note that there is no exact standard, but you should be able to handle calculations like 2 / 7 with reasonable precision to at least 4 decimal places).