我有一个接收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循环中有什么变化?
答案 0 :(得分:4)
我会想象“文化”;尝试使用ToString("F5", CultureInfo.InvariantCulture)
另外 - 看看StringBuilder
是否在循环中构建字符串。
答案 1 :(得分:1)
如果您只是使用
,结果如何CSstr += S[i, j] + " , \t";