我需要在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);


第二个参数是精度。

10-04 13:46