Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22

Отсекание лишних чисел в дробной части

27.07.2017, 17:37. Показов 1395. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как отсечь лишние числа в дробной части? Допустим, мне нужно, чтобы в дробной части было всегда не больше 3 знаков.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.07.2017, 17:37
Ответы с готовыми решениями:

Отсекание части строки
Есть строка вида {"status":200,"message":"","bk":,,,,]]]], Она может отличаться и содержать в себе совсем другую информацию. Одинаковое...

Рассмотрение дробной части чисел
Здравствуйте! :) Подскажите, пожалуйста, с решение одной задачки. Сама задача:Дана строка. Если строка содержит целое число – вывести 0,...

SQLite. Потеря дробной части чисел
Всем привет. Такая проблема: Есть база, CREATE TABLE myTable (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, username TEXT...

8
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
27.07.2017, 18:48
Лучший ответ Сообщение было отмечено Volobuev Ilya как решение

Решение

Чтобы всегда - не помню, чтобы такое было возможно. А вот отбросить лишнее - всегда можно:
Pascal
1
2
3
4
5
6
7
8
9
10
uses System;
begin
  var r := 2.345678;
  r := Math.Round(r, 3);
  writeln(r);
  
  r *= 3.112;
  r := Math.Round(r, 3);
  writeln(r);
end.
1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
28.07.2017, 07:24
Лучший ответ Сообщение было отмечено Volobuev Ilya как решение

Решение

volvo, только нужно учесть, что округление происходит не по нашим правилам, а по буржуинским:

Pascal
1
2
3
4
begin
  WriteLn(System.Math.Round(123.455, 2));
  WriteLn(System.Math.Round(123.465, 2));
end.
Вот эти два числа будут округлены одинаково до 123.46 !
1
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.07.2017, 08:34
Лучший ответ Сообщение было отмечено Volobuev Ilya как решение

Решение

Да ему судя по вопросу и не округлить нужно, о отбросить лишние.
0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
28.07.2017, 09:07  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Да ему судя по вопросу и не округлить нужно, о отбросить лишние.
Да, именно так
0
28.07.2017, 10:03

Не по теме:

Цитата Сообщение от Volobuev Ilya Посмотреть сообщение
Да, именно так
Капец!
И это после того, как ТС спрашивал про… Ну, вы все в курсе, про что он только не спрашивал!

Ну вот и очередной его шедевральный вопрос: Как сделать удаление объекта?

0
Alvin Seville
 Аватар для Соколиный глаз
343 / 273 / 134
Регистрация: 25.07.2014
Сообщений: 4,537
Записей в блоге: 22
28.07.2017, 11:30  [ТС]
Цитата Сообщение от JuriiMW Посмотреть сообщение
Капец!
И это после того, как ТС спрашивал про… Ну, вы все в курсе, про что он только не спрашивал!
Я не считаю глупостью пытаться разобраться в чем-то.

Добавлено через 3 минуты
Цитата Сообщение от JuriiMW Посмотреть сообщение
Ну вот и очередной его шедевральный вопрос: Как сделать удаление объекта?

Не по теме:

Да, такой вопрос, потому, что я действительно это не понимаю. Потому что в PascalABC.Net память управляется сборщиком мусора и в справке было написано что деструкторы никакой роли не играют.



Добавлено через 8 минут
Pascal
1
2
3
4
5
uses System;
begin
  Writeln(Math.Round(1.0, 1)); //Как сделать так, чтобы выводилось 1.0, а не 1?
  Writeln(Math.Round(1.1, 1));
end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
28.07.2017, 11:41
Засорят себе мозг всякой ахинеей и маются.
Pascal
1
writeln(1.235:0:1);
1
 Аватар для JuriiMW
5095 / 2661 / 2355
Регистрация: 10.12.2014
Сообщений: 10,060
28.07.2017, 11:45
В данном случае вам Math не нужен!
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
begin
  WriteLn('[', 123.456:0:1, ']');
  WriteLn('[', 123.456:0:2, ']');
  WriteLn('[', 123.456:0:3, ']');
  WriteLn('[', 123.456:5:1, ']');
  WriteLn('[', 123.456:6:1, ']');
  WriteLn('[', 123.456:7:1, ']');
  WriteLn(String.Format('[{0:0.0}]', 123.456));
  WriteLn(String.Format('[{0:####.0#}]', 123.456));
  WriteLn(String.Format('[{0,10:0.0}]', 123.456));
  WriteLn(String.Format('[{0,-10:0.0}]', 123.456));
end.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.07.2017, 11:45
Помогаю со студенческими работами здесь

Вычислить суммы целой и дробной части чисел
Условие:Вводится последовательность ненулевых целых чисел, 0 – конец последовательности. Вычислить суммы целой и дробной части этих чисел.

Вывод только дробной части действительных чисел
Как вывести только числа после комы? Например 6.57, должно вывести 57 только на С++

Поменять местами в целой части чисел разряды сотен и десятков, в дробной части - разряды единиц и десятков
Доброго всем дня. Мне нужно написать программу под следующую задачу: сформировать 25 случайных вещественных чисел со значениями в...

Есть ли среди первых чисел дробной части числа цифра 0 (ноль)
Определить, есть ли среди первых трех цифр из дробной части заданного положительного вещественного числа цифра 0

Преобразовать одномерный массив вещественных чисел в массив целых чисел отсечением дробной части
Преобразовать одномерный массив вещественных чисел в массив целых чисел отсечением дробной части


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru