为什么当值应该为零时,以下查询会产生值3.21865081787109E-06
?
CREATE DATABASE TEST
GO
USE TEST
CREATE TABLE NUMS (NUMBER REAL)
GO
INSERT INTO NUMS VALUES (1.67460317460317),(-1.6746)
GO
然后运行:
SELECT SUM(NUMBER) FROM NUMS
这会返回值3.21865081787109E-06
?
如果我将值转换为十进制,或者如果我将第一个数字缩短为1.6746
,它会返回正确的零值吗?
另外:手动汇总数字会得到正确的值,看起来好像SUM()
修剪了零?
select (1.67460317460317 + -1.6746)
返回:
0.00000317460317
谢谢!
答案 0 :(得分:6)
为什么它应该是0?
public async Task<Webservice> inviteMembrs(List<KeyValuePair<string, string>> values)
{
String strUrl = String.Format("http://*****.com/nl/webservice/abc123/members/invite");
var http = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, new Uri(strUrl));
request.Content = new HttpFormUrlEncodedContent(values);
var result = await http.SendRequestAsync(request);
var data = new Webservice { Status = result.StatusCode };
if (result.StatusCode == Windows.Web.Http.HttpStatusCode.Ok && result.Content != null)
{
data.Data = await result.Content.ReadAsStringAsync();
Debug.WriteLine(data.Data);
}
return data;
}
你的3.21和“真实”数学3.17之间的差异只是浮点不准确。