当前位置: 首页 > news >正文

做ppt找图片的网站有哪些网站 wordpress

做ppt找图片的网站有哪些,网站 wordpress,免费销售网站模板,国内军事新闻最新消息一、问题缘由 PHP 服务接收前端传过来的单价(字符串形式)和数量,把单价转成分(单价*100),然后传给下游的 Golang 服务,不过最后从两个服务日志中发现金额相差 1。 以下为前端传的 {"amount": 4,"price": "9.2&qu…

一、问题缘由

PHP 服务接收前端传过来的单价(字符串形式)和数量,把单价转成分(单价*100),然后传给下游的 Golang 服务,不过最后从两个服务日志中发现金额相差 1。

以下为前端传的

{"amount": 4,"price": "9.2"
}

PHP 转换的

{"amount": 4,"price": 920
}

下游服务接收到的

{"amount": 4,"price": 919
}

问题跟踪

查看了下,PHP 处理的代码

$price = $req['price'] * 100;

乍一看,木得毛病。但是使用 var_dump 打印,就能看出问题来

$price = $req['price'] * 100;
var_dump($price); // float(920)

看到没,是 float 类型,看了下 Golang 对应的结构体为

type req struct {price int64amount int64
}

也就是在使用传递过程中,会把 float 转成 int。由于浮点数在计算机中表示方式的精度问题,$price 实际上可能是一个非常接近 920 的值(如 919.99999999999),但不是精确的 920,导致转成 int 截断时结果为 919。

问题解决

既然 float 转 int 会截断,那么可以先转成 string 再转成 int 就可以了

$price = intval(strval($req['price'] * 100));

当然了,也可以用 PHP 的 bcmath 高精度扩展来解决。

$price = bcmul($price, 100, 0);
$price  =  intval($price);
http://www.yayakq.cn/news/128184/

相关文章:

  • 动漫设计网站推广产品怎么发朋友圈
  • 哈尔滨建设厅官方网站哪些网页游戏好玩
  • dede无法一键更新网站河北网站搜索排名优化方案
  • 网站建设2017国内排行wordpress网站评论插件
  • 怎么查一个网站有没有做301怎么在网页下载视频
  • 企业自己可以做视频网站吗汽车品牌推广方案
  • 德清网站设计长春短视频运营培训
  • 现在可以做网站么乐平市网站建设
  • 手机网站会员中心模板下载wordpress头像存储
  • 上海网站关键词优化方法企业网站的建设意义是什么
  • 巴彦淖尔网站制作开发网站建设服务的会计处理
  • wordpress主题handsome关键字优化策略
  • 奈曼旗建设局网站模拟建筑4
  • 建网站需要什么手需龙岩天宫山简介
  • 打开浏览器直接进入网站wordpress主题站主题
  • 做精酿啤酒购买的网站ui设计培训班怎么样
  • 网站开发期间账务处理基础微网站开发代理商
  • 学校网站的作用wordpress 外链背景图
  • 网站建设叁金手指花总8哪里有做网站的公司
  • 新开传奇网站手机版东京购物商城
  • 网站建设需求分析写什么百度搜索排行榜风云榜
  • 做网站的策划方案推荐一些做网站网络公司
  • 宁夏交通厅建设局网站如何做视频网站
  • 代做课程设计的网站前端响应式
  • dede淘宝客网站前端课程网站
  • 企业建设网站 入账留电话的广告网站
  • 网站创建公司如何缩小wordpress文字边距
  • 怎么刷网站点击量网站内容管理规范
  • 零基础学习做网站温州做网站公司有哪些
  • 制作商城网站开发商建设审批网站