PHP中的数字转换

时间:2012-08-09 08:37:12

标签: php

我正在创建一个网站,用户必须输入多个数字 必须验证Theese数字(对于非法字符等)并转换为以下格式:

1234.56

我的问题是如何转换(由于不同的国家/地区符号)十进制/千位分隔符的不同组合:

1234,56 / 1.234,56 / 1234.56 / 1,234.56  

预期结果应始终为:1234.56

2 个答案:

答案 0 :(得分:1)

如果你总是有两个小数位(就价格左右而言),你可以拿最后一个点或逗号,在这个位置拆分输入字符串并删除所有非数字字符(和你的情况)。从第一部分。

如果你不能保证有两个小数位,你需要检查是否有问题,如果在最后一个分隔符后有3个数字(以确定是否有小数位)。

由于显然您需要支持更多的国家/地区,因此通用解决方案可能是最佳选择。也许有一些Javascript,它也可以解决问题(在提交表单之前转换数字)。

答案 1 :(得分:0)

您可以使用zend框架组件:Zend_Locale_Format :: getNumber()函数。 http://framework.zend.com/manual/en/zend.locale.parsing.html