1

Google の通貨 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

4

2 に答える 2

1

改行しないスペース文字です。次のように参照する場合は、置き換えることができます\xA0

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

二重引用符に注意してください。それ以外の場合は正しく機能しないため、単一引用符の代わりにそれらを使用してください。

于 2012-08-30T15:06:17.713 に答える
1

そのNO BREAK SPACE。あなたはそれを次のように参照する必要があります\xA0

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

動作するはずです。

于 2012-08-30T15:12:54.123 に答える