/ / Формати струни в C # для обробки десяткових знаків - c #, формат рядків, jsonserializer

Форматування рядка у C # для обробки десяткових знаків - c #, строкового форматування, jsonserializer

У веб-API є поле типу даних номерми отримуємо з Oracle DB і повертаємося у форматі JSON. Оскільки це номер типу, він показує в результаті 364578.0, тому тепер, використовуючи рядковий формат, ми намагаємось уникати десяткової крапки, як

 serializer.Serialize(writer, string.Format("{0:n0}",reader[i]));

Він вирішив проблему, він повертає результат, опускаючи десяткові пробіли, але показує результат, як 364 578, я просто перевіряю, чи є можливість повернути результат, як 364578

Відповіді:

1 для відповіді № 1

Ми трохи обговорили коментарі. Ви, здається, не зможете виправити проблему, оскільки API виходить з ваших рук. Це означає, що вам доведеться його вирішити.

З вашого запитання я розумію, що інший кінець очікує ціле число, а не десяткове. Гаразд, давайте дамо це int потім:

serializer.Serialize(writer, Convert.ToInt32(reader[i]));

2 для відповіді № 2

Спробуй

serializer.Serialize(writer, string.Format("{0:f0}",reader[i]));

The F формат не використовує тисячі роздільників. Перевірка MSDN для подробиць.


1 для відповіді № 3

Ви можете використовувати власне форматування

serializer.Serialize(writer, (decimal)reader[i].ToString("0.#");