我需要在mysql中插入动态小数。表示可能是7.5或33.5或150.5。
最终值是基于销售额的百分比。我在堆栈上找到了以下答案:How to store decimal in MySQL?,但对我的问题没有帮助。
有没有简单的方法来存储这些示例?
3.5
要么
47.5
要么
246.5
如果我使用varchar,则小数点不会显示。如果我使用代码形式,则小数点以上的答案将关闭。有什么建议么?
更新:其实我认为这是我的代码。我似乎无法使小数点在正确的位置。我正在尝试获取随机数的30%。该代码在下面无法正常工作
<?
$randomMade = 40;
$TotalMade = (30/$randomMade) * 100;
$TotalMade = round($TotalMade);
echo $TotalMade; // Comes out as 75 - But it should be 7.5
?>
更新:发现百分比问题:
$TotalMade = (30*$randomMade) / 100; I had the math wrong. :(
最佳答案
如果要在小数点左边最多存储三位数,请使用decimal(5,2)
。
您可以将“ 5”调整为更大的值。
但是,您可以将其存储为浮点数,然后使用format()
创建一个字符串:
select format(123.5, 1)
产生。 。 。
123.5
编辑:
在php中,尝试:
$TotalMade = round($TotalMade, 1);
第二个参数是精度。