SqlFunctions.StringConvert不适用于双精度数

时间:2014-02-12 15:43:00

标签: c# asp.net linq entity-framework sql-function

我在代码

中有类似的东西
SqlFunctions.StringConvert( (double?) x.Latitude)

但它总是返回一个整数,尽管它有一个纬度值。

任何帮助?

1 个答案:

答案 0 :(得分:3)

SqlFunctions.StringConvert(double?)返回转换为字符串的整数。要返回十进制值,您需要提供另一个重载SqlFunctions.StringConvert(double? vaue, int length, int decimals),如下所示:

SqlFunctions.StringConvert( (double?) x.Latitude, 20, 5)

// If x.Latitude = 34.75, then the result will be "34.75000"

来自STR文档:

  

数字默认舍入为整数或小数点   参数为0。

参考文献:
SqlFunctions.StringConvert Method (Nullable)
SqlFunctions.StringConvert Method (Nullable, Nullable, Nullable)
STR (Transact-SQL)