我遇到了很大的困难,在尝试找到两天的答案之后,我需要一些帮助。PHP使用货币和单位
在我的产品数据库中,我正在使用货币。我想以美分来存储所有的产品价格。在此之前一切都很好,因为我也在与单位合作。我的产品包括杂货。因此,举例来说,我有以下的产品,我可以选择:
- Bottle of Coca Cola
- Can of Beer
- Pack of Milk
.. and so on
上述产品的单位通常是在数量,即可获得1瓶可乐,或两个,等等。
在旁边,我有像鸡肉或牛排的产品。它们以盎司,磅,石头等等来衡量。我想存储每种产品1克的价格。
现在,我可以在我的数据库中添加一个名为units
的字段,并简单地为每个产品添加一个单元。就像,对于瓶装可乐,我可以添加一个名为bottle
或简单地piece
的单位。而对于鸡肉,我可以说牛排gram
。或者我可以使用数字值,对于瓶子,我只需使用1
,对于克,对于一公斤可能为1000,对于磅为500。
然后进行一些计算,我可以简单地做到这一点,每个产品,显示数据时:
$total_price = $product->price * product->unit * product->amount/100
量代表着量输入,例如,我要两瓶可乐,我输入金额为2
。或者,我想要700克鸡肉,我简单地进入700。它的确行得通,我想。但它对我来说并不合适,感觉应该有更好的方法来做到这一点。
另一个问题是,当显示每个产品的所有价格。我当然不想以美分显示它们,而是以欧元显示,所以我简单地将price per piece
与100分开,然后显示该价格。因此,例如,一瓶可乐花费2欧元,那么在我的数据库中,一瓶可乐的price
字段为200 (cents)
,当检索价格并显示时,我将它除以100以显示适当的2欧元。
但是,对于鸡肉,牛排等,我不能这样做。例如,我首先需要计算从1克到1000克的价格,然后再将该价格除以100以显示正确的欧元。
所以,很高兴有人明白我的问题在这里和任何指针在正确的方向来帮助我找到我的答案将不胜感激。
这听起来像你正在寻求代码改进。您可能对我们的Code Review站点感兴趣:http://codereview.stackexchange。com/ – Litty