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)


相关推荐

  • 京东云服务器免费体验_京东云服务器免费体验

    京东云服务器免费体验_京东云服务器免费体验1元体验京东云服务器在大神鸿洋和郭霖的微信公众号推送文章发现了这个好消息,第一时间注册了账号,申请下了订单,毕竟数量有限。尽管两位大神讲的很详细,无奈没有接错过CentOS、Ubuntu、WindowsServer这些服务器系统的小白,还是有些地方不是很清楚,正所谓,打破砂锅问到底,不仅要知其然还要知其所以然;经过一段时间的琢磨。还是搞明白了。CentOS和Ubuntu的相同与不同CentO

    2022年10月14日
  • jieba库的安装教程_利用jieba库进行txt分词

    jieba库的安装教程_利用jieba库进行txt分词jieba库jieba库的安装jieba库的基本介绍jieba库的使用jieba库的安装(cmd命令行)pipinstalljiebajieba库的基本介绍(1)jieba库概述jieba库是优秀的中文分词第三方库。中文文本需要通过分词获得单个的词语;jieba是优秀的中文分词第三方库,需要额外安装;jieba库提供三种分词模式,最简单只需掌握一个函数;(2)jieba…

  • id 生成器

    id 生成器应用场景全局流水号区分前后台订单号参考电商订单号设计的资料数据库主键[单调]递增可能考虑分库分表

  • android系统签名及修改

    android系统签名及修改系统签名文件目录:build/make/target/product/security主要签名文件media.pk8media.x509.pemnetworkstack.pk8networkstack.x509.pemplatform.pk8platform.x509.pemreleasekey.pk8releasekey.x509.pemshared.pk8shared.x509.pemtestkey.pk8testkey.x509.p…

  • 程序世界,平凡的我

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!昨天是2019年4月23日,这是一个什么日子呢? 如果我没有看日历的提醒,我其实也不忘记了这是什么日子。每一年的4月23日是世界读书日,世界读书日你读书了吗?昨天我是没有真正读书的,昨天下班比较晚,回到家吃饭洗漱完快十二点了,想着第二天还要上班,就睡觉了。今天刷CSDN看到征文活动: “征文|@程序员 你读过的书,…

  • javascript如何定义类

    javascript如何定义类

发表回复

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

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