Алгоритам заокруживања броја на задати број децимала

Улаз:

Излаз:

  1. запис реалног броја x заокружен на n децимала.

Поступак:

  1. Користећи децимални сепаратор (dz), ниска x се дели на цели и децимални део и одређује се број децимала (brDecimala) као дужина децималног дела.
  2. Упоређујемо n и brDecimala.
    Ако је n = brDecimala, идемо на последњи корак 5.
    Иначе, ако је n > brDecimala, идемо на корак 3.
    Иначе (ако је n < brDecimala), идемо на корак 4.
  3. Пошто је број децимала на који треба заокружити запис броја (n) већи од постојећег броја децимала (brDecimala), треба допунити запис броја x са десне стране са укупно n - brDecimala нула и идемо на последњи корак 5.
  4. Пошто је број децимала на који треба заокружити запис броја (n) мањи од постојећег броја децимала (brDecimala), задржавамо првих n децимала и одбацујемо последњих brDecimala - n децимала. Резултат је број zx. При томе разликујемо следеће случајеве:
    1. Прва цифра коју одбацујемо је мања од 5 (0–4). Идемо на последњи корак 5.
    2. Прва цифра коју одбацујемо је већа од 5 (6–9). Додајемо 10-n на број zx (тј. јединицу на месту најмање тежине, односно испод последње задржане децимале). Идемо на последњи корак 5.
    3. Прва цифра коју одбацујемо је 5. Тада разликујемо два подслучаја:
      • Ако међу одбаченим децималама постоји бар једна различита од нуле, додајемо 10-n на број zx (тј. јединицу на месту најмање тежине, односно испод последње задржане децимале). Идемо на последњи корак 5.
      • Ако су све одбачене децимале једнаке нули, примењујемо правило последње парне цифре:
        • Ако је последња задржана децимала парна, идемо на последњи корак 5.
        • Ако је последња задржана децимала непарна, додајемо 10-n на број zx (тј. јединицу на месту најмање тежине, односно испод последње задржане децимале). Идемо на последњи корак 5.
  5. Крај