Как в C# вывести число с определенным количеством знаков после запятой?

Здрасьте, я ещё совсем новичок в сфере программирования, но хотелось бы оставить свой ответ на случай, если у такого же неопытного юнца, как я, возникнет какая-то схожая проблема
Перед выводом, после всех исчислений, можно воспользоваться таким методом:
double c = Math.Round(c, 2);
Ответ написан более двух лет назад
Комментировать
Нравится 1 Комментировать
Ваш ответ на вопрос
Войдите, чтобы написать ответ

- C#
- +1 ещё
Что делать, если объект проваливается, когда я пытаюсь его поставить туда куда смотрю?
- 1 подписчик
- 6 часов назад
- 23 просмотра
Вывести n знаков после запятой

Как вывести double до 2 знаков после запятой?
Нужно вывести число до 2 знаков после запятой. Попробовал так: 1) round(a*100)/100; 2) .

Как в языке С++ вывести значение изменения с точностью k знаков после запятой?
Как в языке С + + вывести значение изменения с точностью k знаков после запятой?

Вывести результат вычисления одним вещественным числом с точностью до шести знаков после запятой
Необходимо написать программу, которая вычислит сумму 1+1/3+1/3(в квадрате)+. +1/3(n. в кубе и.
Количество знаков после запятой
Вводится целое число 2 Нужно вывести 2.0 Что нужно сделать если setprecision(1) не работает
![]()
13398 / 10675 / 6379
Регистрация: 18.12.2011
Сообщений: 28,512

Сообщение было отмечено Wolfrahm101101 как решение
Решение
#include coutsetprecision(8)x;
Тема: Лишние знаки после запятой.
![]()
Лишние знаки после запятой.
Добрый день.
Столкнулся с проблемой, хожу вокруг да около, а решить не могу. МастерСкада 4Д.
Данные температуры от регулятора ОВЕН. На экране два элемента: стрелочный индикатор и поле вывода текста. У обоих элементов одинаковый источник данных. Так вот в стрелочном регуляторе количество знаков после запятой нормально настраивается. В поле вывода текста эти же данные с 8-10 знаков после запятой. Никак не смог найти, где же настраивается этот параметр.
Подскажите, пожалуйста.
16.02.2018, 16:47 #2
- Просмотр профиля
- Сообщения форума
- Личное сообщение
- Просмотр статей
![]()
Супер Модератор Регистрация 31.07.2012 Сообщений 956
в поле текст нажмите на стрелку связи, и в открывшимся списке связей выбирете редактирование конвертации значений. напишите f2 в поле формат значений это отформатирует значение, чтобы после точки выводилось 2 знака
19.02.2018, 14:12 #3
![]()
Пользователь Регистрация 02.04.2012 Адрес СПб Сообщений 7
Спасибо. Теперь понятно.
03.07.2023, 18:53 #4
![]()
Пользователь Регистрация 23.12.2015 Сообщений 15
Расскажу свой опыт, может кому-то поможет.
У меня в проекте несколько сотен датчиков. Температуре нужна точность 0.1, давлению 0.001 МПа, уровню 0 мм, вибрациям 0.01. И вот когда я сделал шаблонный элемент «Аналоговый датчик» с окном настроек диапазона и уровней срабатывания HH H L LL (итого 7 полей в/в включая сам датчик). Возник вопрос как динамически указывать нужную точность для разных типов значений.
Всё было бы сказочно простым, если бы в мастерскаде сделали поле «число знаков после запятой» доступным для динамизации. Но мастерскада не любит, чтобы разработчику было просто, поэтому они спрятали эту настройку в отдельное окошко. Для каждого датчика менять по 7 полей выливалось в несколько тысяч кликов, обезьяньей работы. Я выставил авто, чтобы мастерскада сама аккуратненько ставила сколько нужно.
И вот тут, ребята, самая засада. Поля значений мастерскады имеют внутренний тип LREAL. И когда на них вешаешь REAL, то при неявном преобразовании после 7го знака дроби появляется всякий мусор. Было у вас 0.5, станет 0.500000005645956 или 0.49999999994858647. И вся эта борода вываливается на экран, так что целая часть числа оказывается за горизонтом.
Выход я нашёл в том, чтобы прогонять входное значение через ST-скрипт где делать из REAL очищенный от вредных примесей LREAL. И уже этот выход скрипта привязывать к значению.
Value_out : LREAL;
Value_in: REAL;
Accuracy: LREAL;
(*TODO: TYPE PROGRAM CODE HERE*)
Accuracy := 0.001;
Value_out := DINT_TO_LREAL(LREAL_TO_DINT(Value_in/Accuracy))*Accuracy;
И это помогло! Точность теперь можно вывести во внешнее значение/команду и позволять пользователю менять в окне настроек датчика.
Такую же формулу применяю в ПЛК, чтобы отсекать лишние знаки после запятой и не дергать зря подсистему трендов.
Как в с вывести знаки после запятой
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |