У меня десятичное значение 18.8. Значения, которые хранятся в этой переменной, могут быть любого типа. Например, это может быть 1.0000000 или 1.00004000 или 5.00000008. Я хотел бы написать метод, чтобы я мог перейти к нему десятичным числом и округлить строку. Это не было бы проблемой, если бы я знал десятичные места, которые хотел бы получить. Но я бы хотел получить:Как лучше всего аппроксимировать округление десятичных знаков в C#
Когда это 1.0000000, он должен вернуть 1.
Если это 1.00004000, он должен вернуть 1.00004.
Когда это 5.00000008, он должен вернуться 5.00000008. Таким образом, в основном он должен найти все 0, которые находятся за последней цифрой, отличной от 0, и отключить ее.
Как я должен обращаться к нему? Какой лучший метод? Я получаю это значение от SQL и помещаю его в десятичную переменную, но тогда я бы хотел отобразить его и иметь 5.0000000, когда он может отображаться как 5, для меня немного перебор.
Надеюсь, что у меня появятся хорошие предложения.
С уважением,
MadBoy
Я не знаю, количество десятичных знаков мне нужно. Это сработает, если я узнаю, что хочу отключить его после 3-х цифр и более. Но я хочу отключить его, только если все цифры являются нулями после последнего, отличного от нуля. – MadBoy
Если у вас есть 1.00004000, то после ToString («0. ####################») у вас будет «1.00004». Говоря о MAX из # знаков: оно равно 28. Десятичное значение допускает максимум 28-29 значащих цифр. Это делает 1 для ведущих ноль и 28 для других знаков. Даже если у вас есть что-то вроде 15555.98900008900, все будет в порядке. – terR0Q
Спасибо, это работает. Я должен был проверить его, прежде чем сомневаться, что он будет работать, как вы сказали. – MadBoy