# Miscellaneous

### Stripping a unit or percentage from a number

To strip the unit, rate or percentage from a number, convert it to a `number` (or decimal)

```
$100 as number    | 100
40/day to decimal | 40
20% as dec        | 0.2
```

### Proportions / Rule of three

Known as the [rule of three](https://en.wikipedia.org/wiki/Cross-multiplication#Rule_of_Three), these phrases help you find the number required to maintain a proportion.

```
6 is to 60 as 8 is to what  | 80
5 is to 10 as what is to 80 | 40
```

These phrases also work with units:

```
5 km is to 500m as 5 cm is to what                | 5 mm
30 minutes is to 3 hours as what is to 60 seconds | 10 seconds
```

### Comparing numbers

min() and max() in Soulver

```
larger of 100 and 200  | 200
greater of 100 and 200 | 200
                                                     
smaller of 5 and 10    | 5
lesser of 5 and 10     | 5
```

### Midpoint

```
half of 175                  | 87.5
midpoint between 150 and 300 | 225
```

### Random numbers

To generate a random integer in a specified range:

```
random number between 1 and 10 | 7
```

To generate a random floating point number, use the range 0 to 1

```
random number between 0 and 1 | 0.4793193723
```

### LCM & GCD

Lowest common multiple and greatest common divisor

```
gcd of 20 and 30 | 10
lcm of 5 and 8   | 40
```

### Permutations & Combinations

```
10 permutation 3 | 720
25 combination 3 | 2,300
```

Or alternatively use a slightly clearer syntax:

```
3 permutations of 10 | 720
3 combinations of 25 | 2,300
```

### Clamp

```
clamp 26 between 5 and 25 | 25
clamp 4 from 5 to 25      | 5
```
