Форматирование double (знаки после запятой) - C#
Формулировка задачи:
Имеется double 58.1
Я могу преобразовать его к строке вида "58.100" посредством
Но мне необходимо в double хранить именно 58.100, т.к. дальше происходит сериализация в Json.
Как такое можно реализовать?
Или есть возможность при сериализации указать количество десятичных знаков?
Листинг программы
- string.Format("{0:0.000}", (double)num)
Решение задачи: «Форматирование double (знаки после запятой)»
textual
Листинг программы
- class X
- {
- public double x;
- public string Kawai = " Kawai ^^ ";
- }
- class MyConverter : JsonConverter
- {
- public override bool CanConvert(Type type)
- {
- return type == typeof(double);
- }
- public override bool CanRead => false;
- public override bool CanWrite => true;
- public override Object ReadJson(
- JsonReader reader,
- Type objectType,
- Object existingValue,
- JsonSerializer serializer
- )
- {
- throw new NotSupportedException();
- }
- public override void WriteJson(
- JsonWriter writer,
- Object value,
- JsonSerializer serializer
- )
- {
- writer.WriteRawValue(((double)value).ToString("F3"));
- }
- }
- void Main()
- {
- var x = new X { x = 1.7 };
- var serializer = new JsonSerializer();
- serializer.Converters.Add(new MyConverter());
- serializer.Serialize(Console.Out, x);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д