首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >整个分值所需的PHP bc计量?

整个分值所需的PHP bc计量?
EN

Stack Overflow用户
提问于 2016-05-17 16:18:15
回答 2查看 535关注 0票数 0

在PHP中,我正在编写一个应用程序,它需要精确到小数点的2位(例如:我关心的是1.23 === 1.23,而不是更多的右侧数字)。

我知道浮点数通常被认为是不好的做法,因为它们的值不精确,基于小数点右方从基数2转换到基数10的性质。然而,在我对处理货币价值的最佳实践的研究中,我看到了一些论点,如果您需要精度大于整分值,浮动是不好的。我显然不需要更精确的整分数值。

那么,我的问题是:

  1. 是否值得进行额外的工作,将值存储为与bcmath库一起使用的字符串?
  2. 如果使用bcmath库,是否应该将MySQL db中的值存储为MySQL支持的字符串或decimal

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2016-05-17 16:35:28

经过进一步的挖掘,我在Should I use BCMath for values with about 1,2 or 3 decimals?找到了解决方案

根据在给定的位置上接受的答案,小数点的任何精确性都不能保证浮动。

就DB中的存储而言,将其存储为字符串似乎是最简单的选择,因为bcmath库与字符串一起工作。

票数 0
EN

Stack Overflow用户

发布于 2016-05-17 16:44:36

使用这个可以修剪到小数点后两位,不加舍入。

代码语言:javascript
复制
<?php
$a = 12.37675;
$a = floor($a * 100) / 100; // 12.37
echo $a;

代码语言:javascript
复制
<?php

function dollar($value) {
    return floor($value * 100) / 100;
}

$a = 12.37675;
echo dollar($a);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37281556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档