This page is dedicated to showcasing small snippets of code that may be useful. These small routines are designed to accomplish tasks involving numbers and their attributes. Unless specified, the output is in Ans.

**Rounding** - lirtosiast, Trenly

The int( command always rounds towards -∞, and iPart( rounds towards 0. Here are the other two directions:

`-int(-X //rounds towards +∞`

`iPart(X+not(not(fPart(X //rounds away from 0`

For natural rounding, where a number rounds up if the decimal part is greater than one half and down otherwise, use this:

`iPart(X+(fPart(X)≥.5`

To round towards the nearest N or multiple of N, the code would be:

```
X/N->X
NiPart(X+(fPart(X)≥.5
```

**Number Concatenation** – DarkerLine

Returns the number formed by concatenating positive integers M and N.

`N+M10^(1+int(log(N`

**Number of Digits in Nonzero Integer**

If X is always positive, remove the "abs(".

`1+int(log(abs(X`

**Number of Digits in Decimal Number** – Weregoose, lirtosiast

`not(X)+sum(0 or fPart(abs(X10^(cumSum(binomcdf(13,0))-2-int(log(abs(X+not(X`

**Sum of Digits of Integer** – DarkerLine, lirtosiast

If X is always nonnegative, remove the "abs(".

`sum(int(10fPart(abs(X10^(-cumSum(binomcdf(13,0`

**Sum of Digits of Decimal Number** – DarkerLine, lirtosiast

If X is always nonnegative, remove both "abs(". If nonzero, remove the "+not(X".

`sum(int(10fPart(abs(X10^(cumSum(binomcdf(13,0))-2-int(log(abs(X+not(X`

**Fraction Simplifier** – Battlesquid

Simplifies fractions where A is the numerator and B is the denominator.

With Disp

```
"A/B▶Frac"→Str1
Disp expr(Str1
```

With Output(

```
"A/B▶Frac"→Str1
Output(1,1,expr(Str1
```

Alternatively, there is Xeda Elnara's method, but an abs command would have to be used to ensure that there is not a negative input.

```
gcd(A,B→C
A/C→A
B/C→B
```

.