0

sprintf を使用して ulr を作成しようとしています。さまざまな Web サイトを開くために、sprintf を使用して URL の一部を変更しました。次のコードは、URL の一部を置き換える代わりに 3 回の URL を書き込みます????何か提案はありますか?どうもありがとうございました!!

current_stock = 'AAPL';

current_url = sprintf('http://www.finviz.com/quote.ashx?t=%d&ty=c&ta=0&p=d',current_stock)
web(current_url, '-browser')

%d は appl のプレース ホーラーである必要があります。結果は次のとおりです。

http://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=dhttp://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=dhttp://www.finviz.com/quote.ashx?t=80&ty=c&ta=0&p=dhttp://www.finviz.com/quote.ashx?t=76&ty=c&ta=0&p=d
4

2 に答える 2

3

%d明らかに文字列である値を使用している理由がわかりませんか? を使用する必要があります%s

表示されているのは、文字列内の各文字のフォーマット文字列のコピーを提供しているように見えるためですAAPL

?t=XX違いはビットのみにありXX、文字列内の 4 文字の ASCII コードは 65、65、80、76 の順であることがわかります。

                                   vv
http://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=d
http://www.finviz.com/quote.ashx?t=65&ty=c&ta=0&p=d
http://www.finviz.com/quote.ashx?t=80&ty=c&ta=0&p=d
http://www.finviz.com/quote.ashx?t=76&ty=c&ta=0&p=d
                                   ^^

それが MatLab (a)の機能なのかバグなのか、はっきりとは言えませんが、正しい書式指定子を使用するだけで修正されると思います。


(a) hereのように、他のミスマッチと同様にインテリジェントなことを行うため、おそらく機能です。

文字列変換 ( %s) を整数値に適用すると、MATLAB は有効な文字コードに対応する値を文字に変換します。たとえば、 に'%s'変換[65 66 67]ABCます。

于 2013-08-12T09:36:51.973 に答える