> ## Documentation Index
> Fetch the complete documentation index at: https://docs.standardcomputers.net/llms.txt
> Use this file to discover all available pages before exploring further.

# Arithmetic and String Operators in Standard Programs

> Use Standard's arithmetic operators, follow PEMDAS order of operations, perform modulo division, and concatenate or add strings correctly.

Standard supports all common arithmetic operators and follows the standard order of operations (PEMDAS — Parentheses, Exponents, Multiplication, Division, Addition, Subtraction). Unlike languages such as Java, Standard does not suffer from floating-point rounding issues, so your numeric results are precise. Because Standard does not use `=` for assigning values to variables, all arithmetic operations and string concatenation must be written inside parentheses.

```text theme={null}
radius 7
circ (3.14159 * radius ^ 2)
print circ
```

## Modulo

Use the `%` operator to compute the remainder of a division:

```text theme={null}
dividend (65 % 5)
print dividend #prints 0
```

## String Operations

Standard gives you two ways to concatenate strings: the `.` operator and the `+` operator. The behavior of each differs when the operands look like numbers.

```text theme={null}
in firstname "What is your name?"
print ("Hello ".firstname)
print ("5" + "7") #Prints 12
print ("5" + "Hello") #prints "5Hello"
```

<Tip>
  Prefer `.` over `+` for string concatenation. When both operands of `+` contain only numeric characters, Standard treats them as numbers and adds them instead of joining them as strings — which can produce unexpected results. Using `.` always concatenates, regardless of the content.
</Tip>
