如何在MySQL中存储动态小数?

时间:2013-08-07 02:00:17

标签: php mysql decimal

我需要在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. :(

1 个答案:

答案 0 :(得分:0)

如果您想在小数点左侧存储最多三位数,请使用decimal(5,2)

您可以调整“5”以获得更大的值。

但是,您可以将其存储为浮点数,然后使用format()创建字符串:

select format(123.5, 1)

生产。 。

 123.5

编辑:

在php中,尝试:

$TotalMade = round($TotalMade, 1);

第二个参数是精度。