读取文件数据时出现问题

时间:2016-01-30 23:45:35

标签: c# asp.net .net

我正在使用C#(.NET 4.5)来读取包含一些财务信息的文本文件。但是,每当我从文件中读取负值(例如: - $ 1,000.00)时,我就会看到" - $"转换为"�"。例如: - $ 1,000.00至�1,000.00。为什么会这样?

我尝试使用File.ReadAllText以及reader.ReadToEnd(),其中reader是StreamReader实例。我也尝试过指定编码(UTF8)。没有任何效果。

1 个答案:

答案 0 :(得分:-1)

您需要格式化字符串,如下所示:

string curC = System.Threading.Thread.CurrentThread.CurrentCulture.ToString();
System.Globalization.NumberFormatInfo curFormat = new System.Globalization.CultureInfo(curC).NumberFormat;
curFormat.CurrencyNegativePattern = 1;

num.ToString("c", curFormat);
// or string.Format(curFormat, "{0:c}", num);