Table transformations

How to Create .99 Prices: Nearest Integer Minus 0.01

2026-06-20
Task

The source column contains positive numeric prices without a currency symbol. The target must follow the “nearest integer minus 0.01” policy while blank, zero, and invalid values remain blank.

Short answer

Validate the format and positive value before any calculation, select Round—the table editor defaults to the nearest integer with step 1—subtract 0.01, and clear the final value when the result is non-positive.

How to Do It in Eofferix

  1. Add or open the target price_99 column and select price as its source. These names are examples; use the actual fields in your profile.

  2. Before the calculations, add AnyTrim spaces at edges, then Not a regular expression with ^\d+(?:[.,]\d+)?$Do not export field, and Less than or equal with 0Do not export field.

    Six rules that validate, round, and subtract 0.01 from a price
    Invalid and non-positive inputs leave the final price value empty; valid prices are rounded to the nearest integer and reduced by 0.01.
  3. Add AnyRound. In the table editor this action defaults to the nearest integer with step 1; then add AnySubtract with 0.01, and finish with Less than or equal and 0Do not export field.

  4. Apply the rules and inspect rows with .20, .50, and .80 fractions, as well as zero and invalid text, in the preview. Then run a small test export and open the downloaded file. Use the column only when both results match the table below.

Important. price and price_99 are example names. The source must contain a clean number without a currency symbol or code. This algorithm does not always reduce a price: a fraction of .50 or more can produce a result greater than the source value.

Expected Result

Source priceResultWhy
1240.201239.991240.20 rounds to 1240, then 0.01 is subtracted.
999.50999.99999.50 rounds to 1000, then 0.01 is subtracted.
1240.801240.991240.80 rounds to 1241, then 0.01 is subtracted.
240.00239.99240 rounds to 240, then 0.01 is subtracted.
0blankA non-positive source price leaves the final price_99 value blank before calculations.
not-a-priceblankInvalid text must not become -0.01.

Checks Before Export

  • Use Round: in the table editor this action rounds to the nearest integer with step 1, so there are no separate mode or step fields to select.
  • Validation runs before the first mathematical action.
  • Zero, blank input, and invalid text remain blank.
  • The pricing policy is approved by your business and accepted by the destination channel.

Limits of This Method

  • A fraction of .50 or more can move upward to the next .99 ending.
  • For example, 0.49 would become non-positive and is cleared, while 0.50 becomes 0.99.
  • “Always down to .99” and “always up to .99” are different algorithms and must not be described by this rule chain.

Process data faster with Eofferix

Create a free account to automate catalogs and price lists around your own rules.

Sign up