Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
118 / 5 / 4
Регистрация: 05.05.2013
Сообщений: 336

Override toString с сохранением Custom Numeric Format Strings

19.11.2017, 21:36. Показов 1161. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Есть обычный класс, в котором я переопределяю метод toString, но хотелось бы сохранить настраиваемый числовой формат.

Если конкретней, то это класс дробей.

C#
1
2
3
4
5
6
7
8
        public override string ToString()
        {
            if (this.numerator == 0) return "0";
            if (this.denominator == 1) return String.Format("{0}", this.numerator);
            if (this.numerator % this.denominator == 0) return String.Format("{0}", this.numerator / this.denominator);
 
            return String.Format("{0}/{1}", this.numerator, this.denominator);
        }
Как это можно осуществить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.11.2017, 21:36
Ответы с готовыми решениями:

Override string ToString()
Подскажите пожалуйста , как в public override string ToString() (в конце программы ) сделать запись , чтобы в ...

Enum ToString Override
Есть к примеру public enum Numbers { One, Thousand }

Суть Override для ToString()
Объясните суть override здесь, ведь он переопределяет вызов метода в производном классе от базового, но его тут нет, еще непонятно что...

3
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
19.11.2017, 22:48
C#
1
.ToString(настраиваемый числовой формат)
0
118 / 5 / 4
Регистрация: 05.05.2013
Сообщений: 336
19.11.2017, 22:57  [ТС]
Цитата Сообщение от Diamante Посмотреть сообщение
.ToString(настраиваемый числовой формат)
Сделал уже, но мне кажется это как-то по глупому...

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
        public string ToString(string format)
        {
            if (format == "+#;-#;0")
            {
                if (this.numerator == 0) return 0.ToString("+#;-#;0");
                if (this.denominator == 1) return String.Format("{0}", this.numerator.ToString("+#;-#;0"));
                if (this.numerator % this.denominator == 0) return String.Format("{0}", (this.numerator / this.denominator).ToString("+#;-#;0"));
 
                return String.Format("{0}/{1}", this.numerator.ToString("+#;-#;0"), this.denominator);
            }
 
            return this.ToString();
        }
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
19.11.2017, 23:27
Цитата Сообщение от darksector Посмотреть сообщение
if (format == "+#;-#;0")
зачем эта проверка?
ты уже передал в метод строку формата дальше .ToString(format);
можно так же без параметров
C#
1
format == "+#;-#;0"
объявить в самой перегрузке
З.Ы. я изначально подумал про NumberFormatInfo, а не про строку
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.11.2017, 23:27
Помогаю со студенческими работами здесь

Возврат 2 переменных в override в методе ToString
Добрый всем день! Подскажите пожалуйста, как можно вызвать две переменные в override ?? Вот код: public override string...

String/toString() format
var Id = 153; var number = "#" + Id; var dialogWindow = prompt("Press 'Ctrl+C' to copy id", number.toString()); Как сделать чтобы...

Нет доступа к скрытым полям для метода override ToString() (инкапсуляция)
Всем доброго времени суток В универе задали такое задание сделать инкапсуляцию скрытых полей для студентов, все работает кроме доступа...

Error 106: Invalid numeric format
программа вроде правильная, а почему выдает такую ошибку? Помогите, у меня не получается:wall:

Исправить ошибку Invalid numeric format
вот этот код, но он выдает ошибку, )))) program lab16; uses crt; const n=10; type a=record f: string; n: string; o:...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru