An Actual Calculator

It is mind blowing how no one has created a calculator where you just type in an expression and get the result. All of the calculators I've seen have you type in one number then press enter then type in +, -, / or * then press enter then type your second number. This calculator takes simple expressions and returns the result.

Examples:
Input:1+1 | Output:2
Input:1000-15 | Output:985
Input:10*10 | Output:100
Input:100/10 | Output:10
Input:2/3 | Output:0.666666
Input:0/0 | Output: Error

*No spaces in expressions
**Can do addition, subtraction, multiplication, and division. Planning to add more operations in the future.
***Has float/int switcher in division. If is not a whole number it is a float, if it is a whole number it is an int.

My Calculator:
https://repl.it/@RyanMuraliraj/Calculator

Some of the calculators I was talking about:
https://repl.it/ibuiltthis/p/my-calculator-1
https://repl.it/ibuiltthis/p/calculator
https://repl.it/@HongjiDai/Simple-Calculator

This calculator does it but uses external modules without actually coding it themself:
https://repl.it/ibuiltthis/p/mega-calculator

Shoutout to the creators of the calculators listed above for the idea and inspiration.

pls upvote

You are viewing a single comment. View All
proofofconcept (21)

This calculator does not use eval but can evaluate arbitrary length expressions, with parentheses. It supports floats.
https://repl.it/@proofofconcept/Basic-recursive-descent-parser

RyanMuraliraj (7)

@proofofconcept: I don't know man, I put 2-1 into your calculator and I got -1. I also put 3/2 and I got nan. Regardless, I'm impressed.

RyanMuraliraj (7)

@proofofconcept: I take it back, I tried again and it works perfectly. A suggestion would be to switch the float to a int if a decimal is not needed such as 10.0 or 2.0 would become 10 or 2.

proofofconcept (21)

@ryanmuraliraj: The calculator now supports variables
You type x=0 for example, and then you can use x in expressions
However variable names can only be one letter long

RyanMuraliraj (7)

@proofofconcept: Nice. If you post your calculator on I built this I'll upvote.

proofofconcept (21)

@ryanmuraliraj: Ok, I posted it, and added some things as well. This could turn into a programming language if I keep adding these things!