2012-08-30 91 views
1

我使用Google的货币API来获取汇率并将它们存储在我的数据库中,但我遇到了一些问题。这里就是我的工作:Google finance API - 麻烦提取货币汇率

http://www.google.com/ig/calculator?hl=en&q=100USD=?GBP 

我总是传递1USD作为第一个参数和对攻,在我的数据库中的所有货币,把结果变量作为float和存储。一切正常,直到API的结果大于1000.例如:

http://www.google.com/ig/calculator?hl=en&q=100USD=?PYG 这会返回“440 528.634”作为值,并且问题出现在空格分隔符中。当我将它转换为浮点时,它只存储“440”。我试着在它上面运行str_replace()之前将它转换为浮点数,但由于某种原因不起作用 - 我猜这不是普通的空格,而是某种特殊字符。我也尝试通过空间爆炸变量并返回合并的数组字段,但没有骰子。我在这里用完想法,所以我真的希望有人能够帮助我:D

+3

它是['U + 00A0'](http://www.fileformat.info/info/unicode/char/a0/),NO-BREAK SPACE。 – eggyal

回答

1

它是一个不间断的空格字符。您可以将其替换为\xA0

$result = str_replace("\xA0", "", $result); 

请注意双引号。使用这些而不是单引号,否则将无法正常工作。

+0

哦,没有注意到你的答案 – Learath2

1

它的NO BREAK空间。你应该把它称为\xA0

$x = str_replace("\xA0", "", $x); 

应该工作。