業務処理では、整数を3ケタ毎のカンマで編集表示する事は必ず必要です。また、前ゼロの編集は入力された値を文字列としてのコードとして編集するのに必要です。前スペースの編集は出力処理(主に印刷)の桁あわせに必要な場合があります。 さらに、元データとしては文字列である場合も多いので、いったん整数に変換してから編集する事も多くなると思います
vb.net>str_format.exe || |0| |1,000,000| ------------------------------------ 0 1,000,000 ------------------------------------ 1,000.123 ------------------------------------ || |0| |1,000,000| ------------------------------------ A a ------------------------------------ |A| |a| ------------------------------------ |0010| ------------------------------------ |0010| ------------------------------------ 1,000 ------------------------------------ 1000000 1000000
Module MyModule ' ******************************** ' 数字関係の編集処理 ' ******************************** Sub Main() ' ******************************** ' 整数をカンマ編集 ' ******************************** Dim nData As Integer = 0 ' 1) 整数そのものを ToString ' |(縦棒) は、編集文字以外なので、そのまま表示 ' ※ カスタム書式では、他の文字を混在できます Console.WriteLine( nData.ToString("|#,#|") ) Console.WriteLine( nData.ToString("|#,0|") ) nData = 1000000 Console.WriteLine( nData.ToString("|#,0|") ) Console.WriteLine( "------------------------------------" ) ' 以下のようなコードでも可能です( # のような機能はありません ) ' N0 の 0 は小数以下の精度です ' ※ 標準書式では、他の文字を混在できません nData = 0 Console.WriteLine( nData.ToString("N0") ) nData = 1000000 Console.WriteLine( nData.ToString("N0") ) Console.WriteLine( "------------------------------------" ) ' Decimal は、10進数を表現するオブジェクトです ' N0 の 0 は小数以下の精度です Dim decData As Decimal = 1000.12345 Console.WriteLine( decData.ToString("N3") ) Console.WriteLine( "------------------------------------" ) ' Format メソッド Console.WriteLine( String.Format( "|{0:#,#}|", 0 ) ) Console.WriteLine( String.Format( "|{0:#,0}|", 0 ) ) Console.WriteLine( String.Format( "|{0:#,0}|", 1000000 ) ) Console.WriteLine( "------------------------------------" ) ' ******************************** ' 整数を16進数 ' ******************************** nData = 10 ' 整数そのものを ToString( 大文字と小文字 ) Console.WriteLine( nData.ToString("X") ) Console.WriteLine( nData.ToString("x") ) Console.WriteLine( "------------------------------------" ) ' Format メソッド( 大文字と小文字 ) Console.WriteLine( String.Format( "|{0:X}|", 10 ) ) Console.WriteLine( String.Format( "|{0:x}|", 10 ) ) Console.WriteLine( "------------------------------------" ) ' ******************************** ' 整数を前ゼロコードに変換 ' この場合、固定長のコードに変換できます ' ******************************** nData = 10 ' 整数そのものを ToString( ) Console.WriteLine( nData.ToString("|0000|") ) Console.WriteLine( "------------------------------------" ) ' Format メソッド( 大文字と小文字 ) Console.WriteLine( String.Format( "|{0:0000}|", 10 ) ) Console.WriteLine( "------------------------------------" ) ' ******************************** ' 整数を前スペース文字列に変換 ' 全ての言語共通の方法として、必要な文字列長のスペースを ' 前につなげて右から必要な文字数の文字列を切り取ります ' " Z,ZZ9" (10ケタ) という文字列が欲しい場合 ' ******************************** nData = 1000 ' まず、Z,ZZ9 部分を作成 Dim str As String = nData.ToString("#,0") ' 10ケタのスペースを連結 str = " " + str ' 右から10ケタを取得 str = str.Substring( str.Length - 10 ) ' 結果 Console.WriteLine( str ) Console.WriteLine( "------------------------------------" ) ' ******************************** ' 【補足】16進数文字列を整数に変換する : Integer.Parse ' ******************************** ' A は 16進数 の 10 Console.WriteLine( Integer.Parse("A", _ System.Globalization.NumberStyles.HexNumber) * 100000 ) ' ******************************** ' 【補足】文字列を整数に変換する : Integer.Parse ' ******************************** Console.WriteLine( Integer.Parse("10" ) * 100000 ) End Sub End Module
▼ C#
using System; class MyModule { // ******************************** // // ******************************** static void Main() { // ******************************** // // ******************************** int nData = 0; Console.WriteLine(nData.ToString("|#,#|")); Console.WriteLine(nData.ToString("|#,0|")); nData = 1000000; Console.WriteLine(nData.ToString("|#,0|")); Console.WriteLine("------------------------------------"); nData = 0; Console.WriteLine(nData.ToString("N0")); nData = 1000000; Console.WriteLine(nData.ToString("N0")); Console.WriteLine("------------------------------------"); Decimal decData = 1000.12345m; Console.WriteLine(decData.ToString("N3")); Console.WriteLine("------------------------------------"); Console.WriteLine(string.Format("|{0:#,#}|", 0)); Console.WriteLine(string.Format("|{0:#,0}|", 0)); Console.WriteLine(string.Format("|{0:#,0}|", 1000000)); Console.WriteLine("------------------------------------"); // ******************************** // // ******************************** nData = 10; Console.WriteLine(nData.ToString("X")); Console.WriteLine(nData.ToString("x")); Console.WriteLine("------------------------------------"); Console.WriteLine(string.Format("|{0:X}|", 10)); Console.WriteLine(string.Format("|{0:x}|", 10)); Console.WriteLine("------------------------------------"); // ******************************** // // ******************************** nData = 10; Console.WriteLine(nData.ToString("|0000|")); Console.WriteLine("------------------------------------"); Console.WriteLine(string.Format("|{0:0000}|", 10)); Console.WriteLine("------------------------------------"); // ******************************** // // ******************************** nData = 1000; string str = nData.ToString("#,0"); str = (" " + str); str = str.Substring((str.Length - 10)); Console.WriteLine(str); Console.WriteLine("------------------------------------"); // ******************************** // // ******************************** Console.WriteLine((int.Parse("A", System.Globalization.NumberStyles.HexNumber) * 100000)); // ******************************** // // ******************************** Console.WriteLine((int.Parse("10") * 100000)); } }
タグ:VB.NET
|
【VB.NET : ベーシックの最新記事】
- VB.net : 「ファイルを開くダイアログ」のパラメータを単純なテキストファイルより取得する
- VB.net での テキストファイルの読み書きを、出力時のみキャラクタセット毎に条件コンパイル指定する
- VB.net での DateDiff メソッドの使用方法
- テキストファイルとキャラクタセットの処理
- VB.net : String、Char()、Byte() の相互変換
- VB.net : 文字単位の ASCII と Unicode
- コマンドプロンプト : 入力したキーストロークを表示しない readkey.exe
- VB.net/C# : 連続する文字の作成と良く使う文字列フォーマット
- VB.net : 各種ディレクトリパスの取得 : テンポラリ/システム/特殊ディレクトリの列挙
- VB.net : アプリケーションを開始した実行可能ファイルのパス
- VB.net : アプリケーションディレクトリ
- VB.NET : バッチファイル用ファイルの参照ダイアログ
- コマンドプロンプト : クリップボードにあるファイル情報を標準出力へ
- VB.NET(コマンドプロンプト) : 指定した文字列だけ色を変えて表示する
- VB.NET : SHA256