tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: VB2005で通貨型(MDB)の扱い
投稿日: 2010/02/25(Thu) 15:06
投稿者レモン
魔界の仮面弁士様、引き続きお世話になります。

> 気になるのであれば、実際のデータ型を確認してみてください。
順に、System.Decimal、System.Decimal、Decimalという確認を得られました。


> その結果、VB.NET2002 と VB2005 とで違いがあるかどうかを確認してみてください。
教えを頂く分際で大変恐縮ですが、2003 → 2005です↓
> VB.NET2003 → VB2005 です。書き方がまずく申し訳ありませんでした。


> 一方で、同じ数値/同じデータ型でも、 ToString の結果が異なってしまうパターンも
こちらも確認しました。あらためて書式設定の徹底を周知していこうと思いました。


>   lbll.Text = CDec(wDT.Rows(0)("aaa")).ToString("0")
>   lbll.Text = String.Format("{0:0}", wDT.Rows(0)("aaa"))
双方とも"0"表示できる事を確認しました。
> String.Format の場合、上記のように CDec 等が不要となりますし、
今のアプリの仕様では必須入力でない項目もあり、Cdecする方法だと
IsDBNull(wDT.Rows(0)("aaa")) = False か?とチェックしないとエラーとなる場合もあり
余分にコードが増えてしまいそうなので、String.Formatの方が適切だと思いました。

ただ(少し余談になりますが)一時的に空文字許可のないワークテーブルの項目へ
データを書込むケースもあり、結局、判定コードは必要になりそうですが。

# ちなみにString.Formatはほとんど使った事ないですが「より細かい制御」は
# まだちょっと調べただけですが意外と複雑ですね…{0:0}をどう変えればどうなる等々
# 今回の件のついては {0:0} で十分そうですが


> 数値だけでは無く、日付もそうですね。
日付の扱いは、以前にも問題になった事がありましたので
アドバイスをもとにテストしてみたいと思います。

※関連する内容でたくさんの情報をいただき、本当に有難うございます。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。