# - (minus)

operator

Return type:
Integer
Returns:
The difference between its two operands (binary form), or the operand * -1 (unary form).
Syntax
```numeric-expression  -  numeric-expression

or

- numeric-expression
```

Purpose

You can subtract one numeric value from another using `-`, the minus operator. To subtract BCD numbers, you must import the ombcd.xmd file in your program. To subtract floating point numbers, import the omfloat.xmd file.

You can subtract values of mixed data types (for example, BCD numbers and integers) as long as you follow the rules listed in Operations with mixed data types.

You can also use - as a unary operator (an operator with only one argument) to reverse the sign of a numeric expression.

Always surround arithmetic operators with spaces.

BCD Example:

```  ; Profit = Revenue - Expenses - Tax
import "ombcd.xmd" unprefixed
process
local bcd revenue-total initial {99295.21}
local bcd expense-total initial {56932.98}
local bcd tax-total initial {22345.67}
local bcd profit
set profit to revenue-total - expense-total - tax-total
output "Profit is "
|| "<\$,NNZ.ZZ>" % profit
|| "%n"
; Output: 'Profit is \$20,016.56'.
```

Floating Point Example:

```  ; Find the difference between the radius of the earth and that of the moon.
import "omfloat.xmd" unprefixed
process
local float earth-radius initial {6.371 * float 10 ** 106}
local float moon-radius initial {1.7383 * float 10 ** 106}
local float radius-difference
set radius-difference to earth-radius  - moon-radius
output "The difference between the radius of the earth and the moon is "
|| "10fed" % radius-difference  || " meters.%n"
; Output: 'The difference between the radius of the earth and the moon is 4.6327e+106 meters.
```

Mixed Data Type Example:

```  ; Distance from destination = (Total distance) - (Mileposts passed)
import "ombcd.xmd" unprefixed
process
local bcd total-distance initial {464.21}
local bcd distance-from-destination
local integer mileposts-passed initial {219}
set distance-from-destination to total-distance - mileposts-passed
output "Distance from destination is "
|| "d" % distance-from-destination
|| "miles.%n"
; Output: 'Distance from destination is 245.21 miles'.
```

The word `minus` is a deprecated synonym for `-`.

For floating point numbers, overflow and underflow values return infinity and zero, respectively.

BCD numbers cannot overflow, but underflow returns 0.

For integers, underflow returns zero, but overflow returns an incorrect answer that depends on the operating system.

Related Concepts