Добавить в корзинуПозвонить
Найти в Дзене

Способы отбросить дробную часть в 1С

ИсходноеЧисло = 123.456; ЦелаяЧасть = Цел(ИсходноеЧисло); Сообщить(ЦелаяЧасть); // Выведет: 123 ИсходноеЧисло = -123.456; ЦелаяЧасть = Цел(ИсходноеЧисло); Сообщить(ЦелаяЧасть); // Выведет: -123 ИсходноеЧисло = 123.456; ОкругленноеЧисло = Окр(ИсходноеЧисло, 0); Сообщить(ОкругленноеЧисло); // Выведет: 123 ИсходноеЧисло = 123.556; ОкругленноеЧисло = Окр(ИсходноеЧисло, 0); Сообщить(ОкругленноеЧисло); // Выведет: 124 ИсходноеЧисло = -123.456; ОкругленноеЧисло = Окр(ИсходноеЧисло, 0); Сообщить(ОкругленноеЧисло); // Выведет: -123 ИсходноеЧисло = -123.556; ОкругленноеЧисло = Окр(ИсходноеЧисло, 0); Сообщить(ОкругленноеЧисло); // Выведет: -124 ИсходноеЧисло = 123.456; СтрокаБезДробнойЧасти = Формат(ИсходноеЧисло, "ЧГ=0"); Сообщить(СтрокаБезДробнойЧасти); // Выведет: 123 ИсходноеЧисло = -123.456; СтрокаБезДробнойЧасти = Формат(ИсходноеЧисло, "ЧГ=0"); Сообщить(СтрокаБезДробнойЧасти); // Выведет: -123 ИсходноеЧисло = 123.456; ЦелаяЧасть = ИсходноеЧисло Div 1; Сообщить(ЦелаяЧасть); // Выведет: 123 И
Оглавление

1. Функция Цел()

  • Функция Цел() возвращает целую часть числа, отбрасывая дробную часть. Она не округляет число, а просто отсекает все, что находится после запятой.

ИсходноеЧисло = 123.456;

ЦелаяЧасть = Цел(ИсходноеЧисло);

Сообщить(ЦелаяЧасть); // Выведет: 123

ИсходноеЧисло = -123.456;

ЦелаяЧасть = Цел(ИсходноеЧисло);

Сообщить(ЦелаяЧасть); // Выведет: -123

2. Функция Окр() с указанием точности

  • Функция Окр() используется для округления числа до заданной точности. Если указать точность равной 0, то число будет округлено до ближайшего целого. Однако, в отличие от Цел(), Окр() выполняет именно округление, а не просто отбрасывание дробной части.

ИсходноеЧисло = 123.456;

ОкругленноеЧисло = Окр(ИсходноеЧисло, 0);

Сообщить(ОкругленноеЧисло); // Выведет: 123

ИсходноеЧисло = 123.556;

ОкругленноеЧисло = Окр(ИсходноеЧисло, 0);

Сообщить(ОкругленноеЧисло); // Выведет: 124

ИсходноеЧисло = -123.456;

ОкругленноеЧисло = Окр(ИсходноеЧисло, 0);

Сообщить(ОкругленноеЧисло); // Выведет: -123

ИсходноеЧисло = -123.556;

ОкругленноеЧисло = Окр(ИсходноеЧисло, 0);

Сообщить(ОкругленноеЧисло); // Выведет: -124

3. Функция Формат()

  • Функция Формат() позволяет представить число в определенном формате, в том числе без дробной части.

ИсходноеЧисло = 123.456;

СтрокаБезДробнойЧасти = Формат(ИсходноеЧисло, "ЧГ=0");

Сообщить(СтрокаБезДробнойЧасти); // Выведет: 123

ИсходноеЧисло = -123.456;

СтрокаБезДробнойЧасти = Формат(ИсходноеЧисло, "ЧГ=0");

Сообщить(СтрокаБезДробнойЧасти); // Выведет: -123

  • Важно: Функция Формат() возвращает строку, а не число. Если вам нужно продолжить работать с результатом как с числом, то лучше использовать Цел() или Окр().

4. Оператор "Деление нацело" (Div)

  • Оператор Div выполняет целочисленное деление. Он делит одно число на другое и возвращает только целую часть результата.

ИсходноеЧисло = 123.456;

ЦелаяЧасть = ИсходноеЧисло Div 1;

Сообщить(ЦелаяЧасть); // Выведет: 123

ИсходноеЧисло = -123.456;

ЦелаяЧасть = ИсходноеЧисло Div 1;

Сообщить(ЦелаяЧасть); // Выведет: -124

  • Важно: Оператор Div округляет вниз для отрицательных чисел, что может отличаться от поведения функции Цел().

5. Функция Int() (устаревший способ)

  • Функция Int() ранее использовалась для получения целой части числа, но сейчас считается устаревшей. Рекомендуется использовать функцию Цел() вместо нее.

Сравнение способов

Рекомендации

  • Если вам нужно просто отбросить дробную часть и получить целое число, используйте функцию Цел().
  • Если вам нужно округлить число до ближайшего целого, используйте функцию Окр(Число, 0).
  • Если вам нужно представить число в определенном формате (например, для вывода на экран), используйте функцию Формат().
  • Будьте внимательны при работе с отрицательными числами, так как Цел() и Div ведут себя по-разному.

Выбор конкретного способа зависит от вашей задачи и требований к результату.