そのほか
626986 ランダム
 HOME | DIARY | PROFILE 【ケータイで見る】 【ログイン】

会社員KNIGHTの株自動売買

PR

Calendar

Category

Archives

Keyword Search

▼キーワード検索

Comments

 ac_knight@ Re[1]:第46回 尼崎産業人卓球大会(11/24) ああこりゃこりゃさん >KNIGHTさんと公式…
 ああこりゃこりゃ@ Re:第46回 尼崎産業人卓球大会(11/24) KNIGHTさんと公式戦で一度お手合わせ願い…
 ac_knight@ Re[1]:第46回 尼崎産業人卓球大会(11/24) GAKOさん >Wで準優勝、おめでとうござい…
 GAKO@ Re:第46回 尼崎産業人卓球大会(11/24) Wで準優勝、おめでとうございます! 良…
 ac_knight@ Re:ふむふむ(02/12) さすらいのカットマンさん コメント有難う…
 さすらいのカットマン@ ふむふむ 高くて深いカットってすごく効きますよね…
 ac_knight@ Re[1]:売買なし11(11/15) わらふるさん >ひとつ質問なんですが、kn…
 わらふる@ Re:売買なし11(11/15) ひとつ質問なんですが、knightさんの株を…
 ac_knight@ Re[3]:私のラケットとラバーの思い出。(01/04) アザゼルさん >う~ん・・・。 >ぶっちゃけ…
 ac_knight@ Re:お疲れさまでした!(11/09) まぅさん >第一回(二回があるんかいてハ…

Favorite Blog

放蕩日記 houtou777さん
萌えブログ 出張所… 下澤信樹さん
40歳からの卓球上達… ttdriveさん

Headline News

Rakuten Ranking

Let's link!

Wishlist

Rakuten Card

Mobile

ケータイ
スマートフォン
m ケータイにこのブログのURLを送信!

 

May 26, 2008
楽天プロフィール XML

VB.NETで楽天RSSからリアルタイム情報を取得する<「バイト配列を文字列に変換する方法」の訂正>

(2)
前回、なぜ自分のソースコードで出来高がちゃんと表示されなかったのか疑問だったので
今日確認してみました。すると、大きな見落としがある事に気付きました。。。

KATSでもバイト配列を文字列に変換する処理があって、入門編のサンプルでも
同じように解説しているつもりでした。でも間違っていました(汗)。

今まで<その5><その6><その7><その8><その10>と5回も登場した
このソース。変数名は違う時がありますがここです。

Dim priceText As String = Encoding.Default.GetString(byteData).Trim

「Encoding.Default.GetString(byteData)」でバイト配列を文字列にしています。
ですが、KATSのソースはこうなっています。

Encoding.Default.GetString(byteData, 0, byteData.Length - 1).Trim

違いは、最後の1バイトを除いて文字列に変換しているところです。
最後の1バイトは制御文字が付いているので除去しています。ここが間違っていました。

もし過去に出てきたソースを修正する場合は上のコードを参考にして下さい。
もちろん、整数に変換する場合は前回ご紹介した

CInt(Encoding.Default.GetString(byteData))

という方法で、1バイト取り除いたり空白を取り除いたり、あと小数点以下も
無くしてくれるので便利です。

今回は私の解説の訂正でした。失礼しました。





楽天SocialNewsに投稿!

Last updated  May 26, 2008 08:36:46 PM
コメント(2) | コメントを書く




■コメント


 ...   PG歴25年 さん
CIntは結果的に正しく動いてるだけで、本当はTrimしてから数値化するのが正解。

Null文字をスペースなり空文字に置き換えずに無理くりやってることになる。C#やJavaに移植した時に変換例外で落ちるよ。

正解は取ってきた文字列からNULLコードをreplaceで空白か空文字に置き換えてからTrimするのが正解。 (Aug 25, 2009 01:07:47 AM)

 ご指摘有難うございます。   ac_knight さん
PG歴25年さん
>CIntは結果的に正しく動いてるだけで、本当はTrimしてから数値化するのが正解。

>Null文字をスペースなり空文字に置き換えずに無理くりやってることになる。C#やJavaに移植した時に変換例外で落ちるよ。

>正解は取ってきた文字列からNULLコードをreplaceで空白か空文字に置き換えてからTrimするのが正解。

CIntは「手っ取り早く整数化出来る」という事でご紹介していますが、私自信のプログラムでは
タブ文字を取り除いて、Trimして、小数点以下の文字列操作を終えてからInteger.TryParseを使っています。
それらの処理について解説するのは本旨とずれるので省略させて頂いています。
(Aug 25, 2009 07:29:42 AM)

Powered By 楽天ブログは国内最大級の無料ブログサービスです。楽天・Infoseekと連動した豊富なコンテンツや簡単アフィリエイト機能、フォトアルバムも使えます。デザインも豊富・簡単カスタマイズが可能!

Copyright (c) 1997-2013 Rakuten, Inc. All Rights Reserved.