mysql decimal php,PHP中的MySQL DECIMAL处理

mysql decimal php,PHP中的MySQL DECIMAL处理如通常讨论的那样(例如Storing0.00001inMySQL),DECIMAL数据类型应用于需要精确度/正确性的字段,例如帐户余额.但是,我想知道PHP如何处理这些值,以及如果它们在内部以浮点数进行处理,那么从数据库读取这些值,进行一些计算并再次写回它们时是否仍然存在问题.如果是这样,我们如何才能迫使PHP保持精度?解决方法:该变量可能是最初在PHP中的字符串(从MySQL结果对象读取时…

大家好,又见面了,我是你们的朋友全栈君。

如通常讨论的那样(例如Storing 0.00001 in MySQL),DECIMAL数据类型应用于需要精确度/正确性的字段,例如帐户余额.

但是,我想知道PHP如何处理这些值,以及如果它们在内部以浮点数进行处理,那么从数据库读取这些值,进行一些计算并再次写回它们时是否仍然存在问题.如果是这样,我们如何才能迫使PHP保持精度?

解决方法:

该变量可能是最初在PHP中的字符串(从MySQL结果对象读取时).通常,不能依靠PHP的浮点数据类型来保持所需的精确十进制值.您应该使用像GMP这样的任意精度的数学库.(当获取结果对象的一行时,将DECIMAL列值传递给适当的构造函数,然后使用所使用的库提供的函数对其进行操作. )

要更深入:假设您有一个存储在数据库DECIMAL(6,4)列中的金额.您想将其提取到PHP中,以对其进行处理.您发出查询以获取该列.您将查询的第一行提取到关联数组中.假设该行的值为2.5674.您的数组现在类似于array(‘MyDecimal’=>’2.5674’)(数字显示为字符串).您(据我所知)使用gmp_init()将该字符串转换为GMP资源.现在,您可以使用其他GMP功能使用该数字进行数学运算.如果要存储GMP编号,则可以使用gmp_strval()将其转换回字符串(如果您正在使用可以处理GMP资源的数据库抽象层,则不必这样做).

标签:floating-point,precision,decimal,mysql,php

来源: https://codeday.me/bug/20191101/1986489.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/160892.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 4月idea激活码_通用破解码「建议收藏」

    4月idea激活码_通用破解码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 字符串转List<map>「建议收藏」

    字符串转List<map>「建议收藏」List<byte[]>list=newArrayList<>();//近一周水汽热水能Map<String,Object>map=newHashMap<>();map.put(“1”,“A”);map.put(“2”,“B”);map.put(“3”,“C”);Map<String,Object>map2…

  • NS2 nam中节点及数据流颜色设置

    NS2 nam中节点及数据流颜色设置

  • 2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板

    2套后台模板HTML+整套Easyui皮肤组件-后台管理系统模板2019年最新easyui主题模板设计:http://www.uimaker.com/easyui本作品仅供学习参考,请勿用于任何商业用途,版权所有:uimaker.com,谢绝任何网站转载,请互相理解!设计业务联系QQ:32534386请注:模板说明:由于效果图比较多,合并成一个图片文件后,文件很大,所以进行了压缩,导致您看到的效果图都比较灰,其实…

  • 云服务器搭建hadoop(搭建云计算服务器)

    ApacheHadoop是一个用java语言实现的软件框架,在由大量计算机组成的集群中运行海量数据的分布式计算,它可以让应用程序支持上千个节点和PB级别的数据。Hadoop并不完全代表云计算,所以,要用Hadoop搭建完整的云计算平台,答案是不够。我们常说云计算,实际上还是通过计算机的大规模或者说海量处理来为生活中各式各样的人和各行各业服务——所以,核心在“服务”。关于服务,展开…

  • Activiti工作流使用之项目实例

    Activiti工作流使用之项目实例Activiti工作流使用之项目实例文章目录Activiti工作流使用之项目实例一、配置文件1.1pom依赖引入1.2application.properties文件二、BPMN文件三、控制层Controller四、实现类Service4.1流程启动(不进入下一环节)4.2流程启动(直接进入下一环节)4.3审批任务4.4查询我发起的流程4.5流程下任务详情4.6删除流程4.7我待审核的任务五、监听器六、流程示意一、配置文件1.1pom依赖引入<dependency>

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号