我需要在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. :(
答案 0 :(得分:0)
如果您想在小数点左侧存储最多三位数,请使用decimal(5,2)
。
您可以调整“5”以获得更大的值。
但是,您可以将其存储为浮点数,然后使用format()
创建字符串:
select format(123.5, 1)
生产。 。
123.5
编辑:
在php中,尝试:
$TotalMade = round($TotalMade, 1);
第二个参数是精度。