博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
修复ecshop商品重量BUG小数位增至五位
阅读量:5751 次
发布时间:2019-06-18

本文共 552 字,大约阅读时间需要 1 分钟。

 如果ECSHOP商品重量录入为1.499千克,数据库存储值为1.499;如果录入1.499克,存储值为1。显然数据保存有误差,虽然在快递运输中,此误差极小可以忽略不计,但从严谨的角度看,这是不合理的。

 

/* 根据商品重量的单位重新计算 */     if ($goods['goods_weight'] > 0)     {         $goods['goods_weight_by_unit'] = ($goods['goods_weight'] >= 1) ? $goods['goods_weight'] : ($goods['goods_weight'] / 0.001);     }

 

从上面转换代码可以看出,“克”转换为“千克”自动四舍五入,存储时会丢失精度,原因是goods表的goods_weight字段的小数位数为3引起的。

解决办法:将小数位数至少增加至5位,执行

ALTER TABLE ecs_goods CHANGE goods_weight goods_weight DECIMAL( 10, 5 ) UNSIGNED NOT NULL DEFAULT '0.00000';

转载:http://www.zuimoban.com/php/ecshop/1728.html

 

你可能感兴趣的文章
tomcat 安装
查看>>
AIX:物理卷及有关概念
查看>>
我的友情链接
查看>>
Centos6.6安装选包及基础场景说明
查看>>
《从零开始学Swift》学习笔记(Day 61)——Core Foundation框架之内存管理
查看>>
java基础面试题-1
查看>>
深克隆与序列化效率的比较
查看>>
lamp+nginx代理+discuz+wordpress+phpmyadmin搭建一
查看>>
nagios监控使用139邮箱报警
查看>>
Windows Phone 7 中各种Task解说(启动器与选择器)
查看>>
罗森伯格助力2011年中国智能建筑技术发展应用论坛哈尔滨站
查看>>
网络割接
查看>>
mysql主从复制及失败切换
查看>>
windows server 2016 活动目录(二)
查看>>
openstack G版 修改vm的flavor级别
查看>>
python_控制台输出带颜色的文字方法
查看>>
java泛型中特殊符号的含义
查看>>
一秒 解决 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'mysql 问题
查看>>
Android组件化最佳实践 ARetrofit原理
查看>>
舍弃浮躁, 50条重要的C++学习建议
查看>>