ドイツ語では、10進数の区切り文字は、であり、値の区切り記号は「;」です。。英語/その他の言語では、10進数の区切り文字はです。値の区切り文字は「、」です。
現在のカルチャに依存しない.csvファイルを作成したいと思います。つまり、.csvファイルには常に「。」が必要です。10進数の区切り文字があり、「、」には値の区切り記号があります。
このためのコードを以下に示します。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Globalization;
namespace CSV_FILE_FORMAT
{
class Program
{
static void Main(string[] args)
{
string aFileName = "result.csv";
FileStream aFileStream = new FileStream(aFileName, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None);
StreamWriter m_StreamWriter = new StreamWriter(aFileStream);
double[] values = new double[] { 10.5, 20.3, 30.2 };
for(int i = 0; i < values.Length;i++)
{
m_StreamWriter.Write(values[i].ToString(CultureInfo.InvariantCulture));
m_StreamWriter.Write(",");
}
}
}
}
このコードの問題は、OSがドイツ語であるかどうかです。10進数の区切り文字は、「。」ではなく「、」で表示されます。
コードに何かが欠けていることを教えてください。