У меня есть класс, и я хочу воспроизвести функциональность, связанную с ToString("0.0000")
, а также с некоторыми другими числами форматирования. Как это может быть сделано?C# IFormatable ToString («0.0000»)
1
A
ответ
0
1
class MyNumber : IFormattable
{
decimal value;
public MyNumber(decimal value)
{ this.value = value; }
string IFormattable.ToString(string format, IFormatProvider formatProvider)
{ return value.ToString(format, formatProvider); }
public string ToString(string format)
{ return ((IFormattable)this).ToString(format, System.Globalization.CultureInfo.CurrentCulture); }
}
class Program
{
static void Main(string[] args)
{
MyNumber num = new MyNumber(3.1415926m);
Console.WriteLine(num.ToString("0.0000"));
Console.WriteLine("{0:0.0000}", num);
}
}
Смежные вопросы
- 1. ios - locationManager return 0.0000
- 2. userLocation Всегда 0.0000, 0,0000
- 3. Столбец «%» opreport всегда показывает 0.0000
- 4. Что такое -0.0000 в c при использовании поплавков и двойных?
- 5. C++ Inheritance "toString"
- 6. C# ToList() и ToString()
- 7. C#: Как реализовать ToString()?
- 8. ToString в словаре C#
- 9. C# ToString (Radix)
- 10. Метод toString() в C++?
- 11. C# десятичный формат tostring
- 12. C# combobox overridden ToString
- 13. Переопределить метод .ToString C#
- 14. C# ChangeType и ToString?
- 15. C# Наследование ToString
- 16. C# конструктор вызов toString
- 17. C# WinForm Enum ToString
- 18. C# ToString («00») неоднозначность
- 19. ! Empty() result true для значения 0.0000
- 20. C#: public new string ToString() VS public override string ToString()
- 21. C# Вызов ToString в классе ToString в другом классе
- 22. Десятичная ошибка ToString() в C#
- 23. C++/CLI .ToString() возвращающая ошибка
- 24. C# DateTime расчет и ToString
- 25. C# Invalidate автоматического ToString преобразование
- 26. C# ToString() - печать дочерних элементов
- 27. C# десятичный метод ToString() отклоняется
- 28. C# Неявные операторы и ToString()
- 29. C# DataGridView Добавить использует ToString()?
- 30. C# - создать функцию, как ToString()
Внедряя 'IFormattable' и записывая метод, который анализирует строку формата и записывает вывод ... была ли более конкретная проблема? –
Я надеялся, что это можно сделать без регулярных выражений. Мне было интересно, был ли какой-то внутренний класс или что-то, что «0.0000» было преобразовано или что-то в этом роде. – Ames
Существует класс под названием 'System.Number', который имеет различные методы форматирования для примитивных типов, но он является внутренним, и все методы отмечены как' [MethodImpl (MethodImplOptions.InternalCall)] '. Посмотрите, используя Reflector, если вы хотите узнать больше. – Rory