- - PR -
3桁区切りについて
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-18 16:11
VB.NETアプリケーションで開発を行っております。
1000バイト(文字型)ある数値を3桁ごとのカンマ区切りにするにはどうしたらいいのか 悩んでおります。 レスでは数値に変換してカンマ区切りにするという方法でしたが、 数値に変換できない(オーバーフロー)ので関数を作成しないといけない でしょうか?皆様のご指導お願いいたします。 | ||||
|
投稿日時: 2005-08-18 16:21
こんにちは。
VB.NET は触ったことが無いのですが、 文字列の中から 3 桁ずつ Mid ( のような関数 ) で取得して カンマ区切りにしていけばいいのでは? → そのカンマ区切りの文字列は別の変数にいれるのですか? ファイルにはくのですか? この変がよく分からないのですが。 そういうことでは無くて? | ||||
|
投稿日時: 2005-08-18 16:36
String.Substring()で3文字ずつ取ってきてカンマと繋いでいくのが簡単かと.
小数点が混じるときは開始位置に注意が必要ですが.
数字で1000桁(1文字2バイトとして500桁?)というわけではないですよね? 数字で1000桁or500桁を扱える数値型は.NET FrameWorkのクラスライブラリにはなかったような気がします. 文字列が空白or0埋めされているということなら,除去してから Convertクラスで変換してSystem.String.Format()で整形できますが... _________________ Future Is What We Are! [ メッセージ編集済み 編集者: 117 編集日時 2005-08-18 16:46 ] | ||||
|
投稿日時: 2005-08-18 16:44
>1000バイト(文字型)ある数値
"数字のみの1000バイトの文字列"と言った方が正しいかもしれませんね。"数値"ではなくて"数字"。 >関数を作成しないといけないでしょうか? おそらく作成しないといけないでしょうね。 StringやStringBuilderのInsert()を使って3桁ごとにカンマで区切ればいいんじゃないでしょうか。 1000バイトもあるということですから、StringBuilderを使った方が良いでしょう。 [ メッセージ編集済み 編集者: 一郎 編集日時 2005-08-18 16:44 ] | ||||
|
投稿日時: 2005-08-18 16:47
説明不足で申し訳ございません。
DBから取得した値(文字型)を画面に表示する際、データが数字の場合 3桁毎に区切りをするとういう感じです。 (ちなみに数文か文字かの判断はできるようになっています) 数字が登録される場合、1000桁まで入力可能となり入力チェックを行っております。 | ||||
|
投稿日時: 2005-08-18 16:58
スレ本題とは直接関係ありませんが、その1000桁もある数値は計算に使用したりしないんですか?表示だけ?
もし計算するなら、そのデカい値を表すクラスを作るとオブジェクト指向風味で良いかもしれませんね。 GiganticDecimalとかいって。 ギガンティックデシマルって・・かっこいいな。 あ〜、でもVB.NETだと演算子を定義できないのか・・・。VB2005だとできるらしいですけどね。 | ||||
|
投稿日時: 2005-08-18 17:01
こんばんは。
>DBから取得した値(文字型)を画面に表示する際、データが数字の場合 っていう条件の場合、他の方が示したメソッドを使えば? というのは違うんですかね? あと、文字列の中は「数字」と「文字」の混合はないのでしょうか? → もしかして、この場合の対処方法を質問していますか? >>関数を作成しないといけないでしょうか? >おそらく作成しないといけないでしょうね。 私もそう思います。 | ||||
|
投稿日時: 2005-08-18 17:02
文字列なら正規表現でどうでしょう。
|
1|2|3
次のページへ»