c# float 类型传入 sql server float 参数导致结果错误

2021/8/28 19:06:29

本文主要是介绍c# float 类型传入 sql server float 参数导致结果错误,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

今天编码发现 c# 传 float 1.03 到 SQL SERVER 2008 float 参数类型,用 SQL Server Profiler 查看,变成了 1.0299999713897705

以前以为有效数字位数超了,或者小数位数超出了最大表示范围才会出现,这次算是长见识了。

原因:SQL Server 的 float 类型对应 c# 的 double 类型, float 强转 double 类型是不行的,会造成数据丢失或结果错误

写个段c#代码验证:

void Main()
{
    float a = 1.03F;
    double b = a;
    b.Dump();
}

果然:

1.02999997138977



这篇关于c# float 类型传入 sql server float 参数导致结果错误的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程