Форматирование 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д