Я хочу, чтобы округлить число близко к 5 В С#
привет у меня есть этот номер
10.02
10.03
10.04
10.05
10.06
10.07
10.08
10.09
10.10
теперь я хочу округлить это число точно так же, как
10.02=>10
10.03=>10
10.04=&ГТ;10.05
10.05=&ГТ;10.05
10.06=&ГТ;10.05
10.07=&ГТ;10.05
10.08=&ГТ;10.10
10.09=&ГТ;10.10
есть ли какая-нибудь функция в c#, пожалуйста, скажите мне, как я могу это сделать
Что я уже пробовал:
я уже пробовал этот код, но он не показывает результат в соответствии с моими требованиями
double n= Math.Round(10.04/ 5.0) * 5;
он показывает результат 10, но я хочу, чтобы результат n=10.05
пожалуйста, помогите мне
jimmson
Почему бы 10.04 округлить до 10.05? В этом нет никакого смысла.
Fahid Zahoor
какое-то время клиент бил сумма 10.04, но мы берем 10.05 если таможенные bil является 10.02 затем мы принимаем только с 10: 00 вы можете понять
jimmson
Посмотрите на это https://docs.microsoft.com/en-us/dotnet/api/system.math.round?view=netframework-4.8 чтобы получить некоторую информацию по математике.Круглый метод и посмотреть ваши варианты. Однако изменение 10.04 на 10.05 не имеет ничего общего с округлением. Вам нужно будет реализовать свой собственный алгоритм.
Fahid Zahoor
спасибо человеку за ваш ответ теперь я пишу свой собственный алгоритм, когда я закончу, то я также поделюсь с вами, так что объясните мне, что мой процесс написания алгоритма является профессиональным или нет.
George Swan
Поскольку ваш метод округления несколько нетрадиционен, вам, вероятно, понадобится таблица поиска, чтобы вернуть небольшое число (Эпсилон), которое может быть положительным или отрицательным, добавленное к рассматриваемому числу для получения требуемого округления. Для этого вам нужно получить последнюю цифру вашего номера и использовать ее в качестве значения индекса для таблицы поиска.Ваши числа имеют 2 дробные цифры, так что вы можете получить последнюю цифру, умножив число на 10 в степени 2 =100 и взяв модуль 10 этого числа. Когда вы делаете умножение, округлите результат, чтобы вернуть число без фракционных цифр.