Equals is an app for calculating most anywhere you can edit text on your Mac. You type a math expression in another app, select the text and tell Equals to calculate the result. Example: try this with 1 + 1 and Equals appends the result (1 + 1 = 2) or replaces it with the result (2).

Alternatively, you can have it display the result in a new window. This will not change the selected text. It also allows calculating results for selections that are not editable text.

Using Equals this way, you don’t need to open another calculator app, enter your calculations, and copy the result back to where you started. You can let Equals calculate the result immediately right where you are and, if you wish, keep a log of your work in the same place all at once.

The app lives in your menu bar and offers services to other Mac apps (see “Services” below for details). It looks like this:  =⃝. By default, the icon is white on black, but this can be changed in the Preferences.

Why Equals?

There are a few problems with other apps offering similar features:

This led me to develop Equals. It does what you expect it to do. Example: when calculating something like 2 + 2 * 5 it first multiplies 2 by 5 and then adds 2 (2 + 2 * 5 = 12). See operator precedence for details.

Equals also handles number formats in a very flexible way. See the “Number formats” section for details.

If you need them, there is support for a sizable collection of math operators and functions.

Services

Services let you borrow other apps’ features while using the app that is front and center.

You find them in the “Services” submenu of the app menu in other apps; the one with the app’s name in bold type in the upper left-hand corner of your screen, next to the Apple menu (see the introduction video for a visual walkthrough).

This menu is also available via a right-click (two-finger-click on trackpads) on selections of text. Additionally, there are convenient keyboard shortcuts.

Using Equals

You probably want Equals to start automatically whenever you log into your Mac. Just check the checkbox “Open Equals at login” in the “Preferences” window and Equals will run on every login until you deactivate this option.

The default shortcuts (e.g. “Command =” or ⌘= for short) are most easily accessible on the numeric keypad of your keyboard. If you are on a mobile Mac or don’t have a numeric keypad you can usually reach the shortcuts via some combination with Shift (⇧) and one of the keys that’s not in the alphabet.

You can customize these shortcuts from the “Keyboard” system preference pane. The “Keyboard Shortcuts” tab of the “Keyboard” system preference pane has a “Services” entry. This is where you can add, remove, and customize shortcuts for system-wide services.

If you right-click (two-finger-click on trackpads) on an entry in this list, you can reveal the app from which the clicked entry originates. By the way: if you hover your mouse over an entry, you may get a more detailed description of the service, but mostly you get just the name of the service.

Number formats

Equals handles differing number formats in a very flexible fashion. It was designed especially to deal with separators in numbers automatically in an intelligent way. As an example, let’s take the English-style number 1,234.56. From here on out, for such a number the period is called a “decimal separator” and the comma is called a “thousands-” or more generally a “grouping-separator”.

If you use the same decimal and grouping-separator throughout your math expression, you will get reliable results. You don’t have to set up anything unless you have very particular preferences. You can make one calculation using periods as decimal separator and the next using commas.

You could even mix number formats, but I recommend sticking with a single number format for each calculation as mixing them necessitates a lot of guesswork. In that case, you should check how each number was interpreted by enabling the checkbox “Add reformatted numbers to result” in the “Preferences” window. This will show the numbers converted to a single format.

It may not always be possible to resolve ambiguity when mixing number formats: 1.001 would mean 1001 in Continental Europe or 1 + 1/1000 in the UK or US. If ambiguity is possible, Equals will assume that you are using what is customary for the language and region you have set in your system preferences.

Equals supports numbers entered in scientific notation. Both “e” and “E” are supported. Examples would be 1e2 (= 100) or 1E-3 (= 0.001).

If you are using numbers that are grouped indic-style (1,00,000 for 1e5), you can enable “Prefer indic number format for result” in the preferences to always get your calculation results in this format, if all numbers used in your calculation are valid for this style and none use other styles.

For example, 10,000 * 10 = 100,000 without this, but 10,000 * 10 = 1,00,000 with this option enabled.

If you ever need to customize any of the number formatting behavior, please contact me via the support link so we can work out a solution that works for you.

Precision

Currently, Equals calculates internally using base-2 arithmetic with a precision of at least 15 significant decimal digit and a decimal exponent between 1e−308 and 1e308. This is because numbers are stored in double-precision floating-point format.

I am working on optional support for making all calculations in base-10 arithmetic with a precision of up to 38 digits and a decimal exponent between 1e−128 and 1e127. Get in touch via support, if you want early access to this feature. It is currently working, but there are precision issues with some of the built-in functions.

Tips & Tricks

If you want to have the result on a separate line, include a return (or line break) at the end of your selection.