c#string到sqlstring丢失格式

时间:2011-08-06 15:45:22

标签: c# sql-server clr sqlclr

我有一个接收SQLString的SQL CLR函数,我将Sql字符串转换为带有.ToString()的ac#字符串,然后在一些计算后我想返回一个包含 double的

   [Microsoft.SqlServer.Server.SqlFunction]
   public static string FuncCS(SqlString SQLstr){
   string CSstr = SQLstr.ToString();

     /*DO SOME STUFF*/
    for (int j = 0; j < S.ColumnCount; j++){
        for (int i = 0; i < S.RowCount; i++){
            CSstr += S[i, j].ToString("F5") + " ,  \t"; 
        }           
    }
  }

然后在SQL中我收到一个字符串,但是双打失去了小数点,并被错放的逗号代替:

结果:

149,50625 0,00000 0,00000 0,00000 0,00000 69,06880 0,00000 0,00000 0,00000 0,00000 31,61588 0,00000 0,00000 0,00000 0,00000 8,82157 

需要什么:

14.9506245839579,0,0,0,0,6.90687968992126,0,0,0,0,3.16158756810842,0,0,0,0,0.88215732592823

我在for循环中有什么变化?

2 个答案:

答案 0 :(得分:4)

我会想象“文化”;尝试使用ToString("F5", CultureInfo.InvariantCulture)

另外 - 看看StringBuilder是否在循环中构建字符串。

答案 1 :(得分:1)

如果您只是使用

,结果如何
CSstr += S[i, j] + " ,  \t";