Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# csv导出更改浮点字符串中的逗号位置_C#_Asp.net_Csv - Fatal编程技术网

C# csv导出更改浮点字符串中的逗号位置

C# csv导出更改浮点字符串中的逗号位置,c#,asp.net,csv,C#,Asp.net,Csv,当我导出包含小数的字符串值时,如67014 导出到csv文件时,它正在转换为奇怪的值67014 这是不合适的 我使用的函数如下所示: public void DownloadtoCSV(DataSet ds, String name) { string deLimiter = ";"; if (System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol == "$")

当我导出包含小数的字符串值时,如67014
导出到csv文件时,它正在转换为奇怪的值67014
这是不合适的

我使用的函数如下所示:

public void DownloadtoCSV(DataSet ds, String name)
{
    string deLimiter = ";";

    if (System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol == "$")
    {
        deLimiter = ",";
    }

    StringBuilder sb = new StringBuilder();
    sb.Append("sep=" + deLimiter + "\r\n");
    foreach (DataTable dataTable in ds.Tables)
    {
        if (dataTable.Columns.Count != 0)
        {
            for (int i = 0; i < dataTable.Columns.Count; i++)
            {

                if (i == 0)
                {
                    sb.Append(dataTable.Rows[0][i].ToString().Replace(",", " ").Replace("\r\n", " "));
                }
                else
                {
                    sb.Append(deLimiter + dataTable.Rows[0][i].ToString().Replace(",", " ").Replace("\r\n", " "));

                }
            }
            sb.Append("\r\n");
            Int64 k = 0;
            if (dataTable.Rows.Count > 0)
            {
                foreach (DataRow row in dataTable.Rows)
                {
                    if (k != 0)
                    {
                        for (int i = 0; i < dataTable.Columns.Count; i++)
                        {
                            if (i == 0)
                            {

                                sb.Append("\"" + row[dataTable.Columns[i].ColumnName].ToString().Replace("\"", "\"\"").Replace("\r\n", " ") + "\"");

                            }
                            else
                            {

                                sb.Append(deLimiter + "\"" + row[dataTable.Columns[i].ColumnName].ToString().Replace("\"", "\"\"").Replace("\r\n", " ") + "\"");
                            }
                        }
                        sb.Append("\r\n");
                    }
                    k++;
                }
            }
        }
        sb.Append(Environment.NewLine);
    }
    System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");

    Response.ContentType = "Application/save";
    Response.AddHeader("content-disposition", "attachment;filename=" + name + ".csv");
    Response.ContentEncoding = Encoding.Default;
    Response.Write(sb.ToString());
    Response.End();
}`enter code here`
public void DownloadtoCSV(数据集ds,字符串名称)
{
字符串分隔符=“;”;
如果(System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.CurrencySymbol==“$”)
{
分隔符=“,”;
}
StringBuilder sb=新的StringBuilder();
sb.追加(“sep=“+分隔符+”\r\n”);
foreach(ds.Tables中的DataTable)
{
if(dataTable.Columns.Count!=0)
{
对于(int i=0;i0)
{
foreach(dataTable.Rows中的DataRow行)
{
如果(k!=0)
{
对于(int i=0;i
您不应该使用
作为分隔符。它很容易出错。试试
。那么,您也不需要用空格替换出现的每一个
。请您简单地告诉我如何保留该格式。。