问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql往数据库插入float类型的数据 为什么数字不对?

发布网友 发布时间:2022-04-26 18:56

我来回答

6个回答

懂视网 时间:2022-04-30 02:27

数据库中慎用float数据类型   大多数编程语言都支持float或者double的数据类型。而数据库中也有相同关键字的数据类型,因此很多开发人员也自然而然地在需要浮点数的地方使用float作为字段类型。  www.2cto.com     但事实上是否float可以适用于所有的业务场景呢?   float类型是根据IEEE 754标准使用二进制格式编码实数数据,对于一些小数,比如59.95,float类型会存储了二进制中最接近59.95的值,用十进制表示等于59.950000762939。 当然,有些数据库能够通过某种方式弥补这种数据的不精确性,查询结果在时候可以输出我们所期望的值。 如下面所示:   Sql代码   select  rate from t_refresh where  id  =1;      Returns:59.95    但是,如果将这个值扩大十亿倍:  www.2cto.com     Sql代码   select  rate * 1000000000 from t_refresh where  id  =1;      Return:59950000762.939     这可能和你期望的结果59950000000.000不太一样了。 在上面在例子中,误差在千万分之一内,对于部分的运算来说已经足够了。 然而,在某些运算中,这样的误差是不能容忍的,如比较的操作: Sql代码   select  *  from t_refresh where rate  = 59.95      Result:empty set;no rows match,     因为rate的实际存储值是比59.95大一点点。 又如在金融项目中计算复利,需要进行多次浮点数乘法运算,使用float类型会导致误差不断累积。    www.2cto.com   因此,在某些业务场景中,我们需要用numeric或者decimal来代替float数据类型。   和float类型相比,numeric和decimal存储的是精确值,如果你insert进去的是一个59.95,实际存的也是59.95。 所以在上面在例子中,如果用numeric或者decimal Sql代码   select  rate * 1000000000 from t_refresh where  id  =1;      Return:59950000000     Sql代码   select  id  from t_refresh where rate  = 59.95      Return:1     结论:   float适用于精度要求低,   数值范围大的科学运算场景

金融、统计等精度要求高的场景,则需要用numeric或者decimal

数据库中慎用float数据类型(转载)

标签:

热心网友 时间:2022-04-29 23:35

float类型可以存浮点数,但是float有缺点,当不指定小数位数的时候,就会出现小数位数与想要的不一致,导致“报错”。在创建浮点类型的时候必须指定小数位数,float(m,d),m表示的是最大长度,d表示的显示的小数位数。

虽然两个类型的值有相似也有不相似,但定义的是float、插入的值只要不出错肯定是float类型,10表示该值一共显示10位整数,其中3位位于小数点后面。

扩展资料:

浮点包可以将二进制浮点数存储为非标准化数,而不使用刚刚介绍的存储方法。“非标准化数”是带有保留指数值的非零浮点数,其中尾数的最高有效位为 0。

通过使用非标准化格式,浮点数的范围可以扩展,但会失去精度。您无法控制浮点数以标准化形式还是非标准化形式表示;浮点包决定了表示形式。浮点包从不使用非标准化形式,除非指数变为小于可以标准化形式表示的最小值。

参考资料来源:百度百科-FLOAT

热心网友 时间:2022-04-30 00:53

float类型可以存浮点数(即小数类型),但是float有个缺点的,当不指定小数位数的时候,那么它就会出现小数位数与想要的不一致,导致“报错”(此错误可能是位数不对,也可能是数值不对)。
备注:所以在创建浮点类型的时候必须指定小数位数,float(m,d),m表示的是最大长度,d表示的显示的小数位数,所以在初始化的过程中指点一下即可。

热心网友 时间:2022-04-30 02:28

这个应该跟你表结构字段类型float(m,d),d:小数点后面的数字个数有关系吧

热心网友 时间:2022-04-30 04:19

http://blog.csdn.net/hugeheadhuge/article/details/6440526
讲的挺详细的,你看看。还有其他的浮点类型。

热心网友 时间:2022-04-30 06:27

精确数字字段类型用decimal
http://zhidao.baidu.com/link?url=Jk10ZLwZeWs1wHfnXqTbizUZJTw7OO9skLHqa03gA_wZYUZKel2MWyyUZzs5Tx6_k4gWdYffwhlHU4wyWOdJJq
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 嘴唇上有黑印用蜜蜡和棉线去除了胡须 我们从小背诵的百家姓,其实也有恐怖的一面,哪些姓氏比较惊悚呢? 为什么我们要读百家姓呢? 百家姓怎么才能背诵出来呢 背诵《百家姓》有什么意义 提起《百家姓》几乎人人都能背出开头几句,“百家姓”的“百”到底指多少? “黄”姓有没有便于记忆的口诀? 百家姓怎么背 百家姓背诵 赵钱孙李,周吴阵王出自百家姓,我还能接着背下去,背的是什么? 百家姓的口诀怎样念? 想让女儿背下《百家姓》,你知道有哪些好的记忆方式吗? 中国姓氏记忆口诀?简单实用的 百家姓口诀? 百家姓背诵口诀有哪些啊? 百家姓背诵口诀是什么? 怎么鉴定一块玉的真假呢,用比较方便的方法 鉴别玉的真假小窍门有哪些? 空气炸锅烤牛排怎么做好吃 空气炸锅炸牛排的做法 空气炸锅能做牛排吗 mysql float和double类型的区别 mysql里float是什么东西? mysql里float是什么东西 mysql float怎么定义 mysql中 float型问题 MySQL的float和decimal的区别疑问 php与mysql的float类型的精度是分别怎么样的 mysql的float类型默认的问题 道路交通标志牌制作怎么选择反光膜? 道路交通标志牌的反光膜通常都有哪些颜色呢? 高速公路上防护栏的反光标志是多少米一个 道路交通标志牌的反光膜一般有哪些分类呢? 道路交通标志牌在夜晚能够反光的原理是什么? 道路反光标志为什么能向后反射光 道路反光标线 标志反光膜 是不是一个东西 道路标牌还有道路两旁指示标志、分割线是什么材料,为啥晚上反光效果那么好? 道路上交通标志牌能够反光是依靠反光膜吗? 公路标志牌,线,车牌为什么会反光很强? 为什么公路标志牌和车牌在车灯的照射下很亮? 交通标示牌在黑夜中为什么会反光?