Я пишу конвертер CSV, чтобы преобразовать текстовый документ сделок в формате CSV документ, и я столкнулся с небольшой проблемой ..Форматирование поплавка с точкой разделителя
foreach (var transaction in transactions)
{
output.Append(
string.Format("{0:dd/MM/yy},{1},{2},{3},{4:0.##},{5}",
transaction.Date,
transaction.Payee,
transaction.Category,
transaction.Memo,
transaction.Outflow,
transaction.Inflow));
output.AppendLine();
}
Это все работает отлично, маленькая проблема, я имею в виду, что свойство Outflow
является плавающей точкой, и моя локаль использует запятые в качестве десятичного разделителя, что, очевидно, представляет собой проблему в CSV CSV, поэтому вместо того, чтобы получать, скажем, 10.50, он выдаст 10,50, есть ли какие-либо простой способ решить эту проблему?
Ответ Saeb действителен, но если вы решите оставить запятые, что хорошо, поскольку CSV-файлы должны использовать кавычки вокруг полей, содержащих встроенные кавычки. См. Раздел 2.6 RFC 4180. http://tools.ietf.org/html/rfc4180 –
Использование культуры «Инвариант» - это рекомендуемый подход, поскольку он означает постоянную (инвариантную) культуру, которая использует периоды для десятичных знаков, а не запятых. –