2016-04-20 33 views
-1

我需要在MySQL中存储用户提交的所有价格。提交的用户可以包含这些格式的价格:PHP/MySQL转换并保存格式化的价格

123.456,78 (ARG format) 
123,456.78 (US format) 
    123456,78 (ARG simplified format) 
    123456.78 (US simplified format) 

在MySQL中,我有一个decimal类型命名为“价格”一栏。

我的问题是,如何将这些格式转换为decimal以将它们保存在我的数据库中?或者,如何将值转换为“ARG简化格式”以将所有格式保存为varchar?我需要所有格式相同(小数点后两位)。

+0

为什么反对票?解释你的理由...... – Manux22

+2

你为什么不限制用户输入,以便用户输入后即可格式化货币? PS:我没有投票给你。另外,因为你是一个新的堆栈用户,请确保你阅读[我如何问一个好问题?](http://stackoverflow.com/help/how-to-ask)。 GL –

+0

这是一个应用程序问题。尝试在SQL中执行它会很笨拙。这样想:数据库用于数据;格式(传入或传出)应由应用程序处理。 (不,我没有让你失望。) –

回答

1

我试图用your previous question来帮助你,这与此类似。

我的解决办法是限制/格式化客户端上的用户输入,您可以使用的0.01html5输入type=numberstep(增量)。

<input type="number" step="0.01" value='0.00' placeholder='0.00'>


注:

确保您验证在服务器端的值了。

+1

是的,不好意思,但是在前面的问题中,我表达错了,@PedroLobito有理由。对我来说写英文不太容易,对不起。 这是一个解决方案,但在我的国家,小数由逗号分隔(但这不是问题)。我避免了这个解决方案,因为我已经准备好使用其他格式了。但我认为没有其他解决方案。谢谢 – Manux22