У меня есть строка формата ######.00
, используемая для форматирования десятичных знаков в C #.Мне нужно изменить его так, чтобы он пропускал период, но оставлял цифры после периода.Могу ли я сделать это, просто изменив формат?Я искал, но не смог найти решение онлайн.
Я нашел этот ответ на очень похожий вопрос, но он включает умножение десятичной дроби на 100 перед форматированием,Я не могу манипулировать ни входящим числом, ни получающейся строкой, потому что у меня нет доступа к ним.Это потому, что мы используем функцию из сторонней библиотеки, которая выбирает число из другого места и отображает его в формате пользовательского интерфейса.Я могу предоставить только строку формата.(Если манипулирование числом или получающейся строкой является единственным способом получить его в формате, который мы, вероятно, можем сделать, это просто потребует значительного рефакторинга, поэтому я хотел посмотреть, есть ли сначала более простое решение. Отсюда и ограничения.)
В качестве примера нужного мне вывода рассмотрим следующий код:
var myFormat = "{0:######.00}";
Console.WriteLine(string.Format(myFormat, 1234.1234));
Console.WriteLine(string.Format(myFormat, 5));
Код, приведенный выше, в настоящее время выводит 1234.12
и 5.00
, но я бы хотелнравится выводить 123412
и 500
просто путем изменения myFormat
.Есть ли способ сделать это?