В чем проблема?
Когда у Json есть такое свойство, как {"foobar " : 0.0000000000000000001}, оно преобразуется в число, но затем в виде строки оно представляется в научной записи как 1E-19
Есть ли способ прочитать число из json в виде строки или преобразовать такое число позже в ту же самую строку без потери точности? Точность не фиксирована, и число в json может встречаться в любом свойстве.
Использование Newtonsoft предпочтительнее (если это возможно), чем System.Text.Json.
Я пытался
преобразование числа с плавающей запятой в строку
но ни одно из этих решений не сработало
Я не смог найти способ обрабатывать любое числовое значение как строку, не знаю, если это так даже возможно в таком конвертере
Я думаю, что этот конвертер работает только в одном направлении, от объекта к строке, и это не то, что я ищу
такое преобразование не сработало, потому что оно потеряло точность или сделало "чрезмерную точность" (0,00...01 было записано как 0,00...0989919999 или что-то в этом роде), или добавило дополнительные нули в конце - зависит от того, что форматирование, которое я использовал
В идеале я хотел бы преобразовать строку типа {"foobar": 21.37} в объект со свойством foobar = "21.37" в убедитесь, что точность не будет потеряна после перехода между числом и строкой
Что мне нужно: [list] [*]Десериализовать строку Json в объект [*]Сделать кое-что[*]вернуть его как строку в конце [/list] В чем проблема? Когда у Json есть такое свойство, как {"foobar " : 0.0000000000000000001}, оно преобразуется в число, но затем в виде строки оно представляется в научной записи как 1E-19 Есть ли способ прочитать число из json в виде строки или преобразовать такое число позже в ту же самую строку без потери точности? Точность не фиксирована, и число в json может встречаться в любом свойстве. Использование Newtonsoft предпочтительнее (если это возможно), чем System.Text.Json. Я пытался [list] [*]создайте CustomJsonConverter от Newtonsoft [*]используйте System.Text.Json.JsonNumberHandling.WriteAsString [*]преобразование числа с плавающей запятой в строку но ни одно из этих решений не сработало [*]Я не смог найти способ обрабатывать любое числовое значение как строку, не знаю, если это так даже возможно в таком конвертере [*]Я думаю, что этот конвертер работает только в одном направлении, от объекта к строке, и это не то, что я ищу [*]такое преобразование не сработало, потому что оно потеряло точность или сделало "чрезмерную точность" (0,00...01 было записано как 0,00...0989919999 или что-то в этом роде), или добавило дополнительные нули в конце - зависит от того, что форматирование, которое я использовал [/list] В идеале я хотел бы преобразовать строку типа {"foobar": 21.37} в объект со свойством foobar = "21.37" в убедитесь, что точность не будет потеряна после перехода между числом и строкой