当我想插入一个float
类似的值400.79
时,它会自动插入400.790008544922
到 NHibernate 中。那么,为什么它会插入错误的值呢?
问问题
69 次
1 回答
2
我希望您的浮点数在您的代码中或在 NHibernate 映射到基础数据表中通过双精度。
如果我在 LINQPad 中尝试这个:
float f = 400.79F;
double d = f;
d.Dump();
输出是:400,790008544922
根据这篇描述从 .Net 类型到 SqlServer 数据类型的 NHibernate 映射的博客,只有 REAL 类型的数据列(FLOAT(24) 的同义词)映射到浮点数(Single),其他非整数数据类型映射到双精度或十进制。
于 2013-02-02T10:24:06.093 回答