MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
C Sharpの基礎 - 文字列のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
C Sharpの基礎 - 文字列
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== Console.ReadLineメソッド == Console.ReadLineメソッドは、入力された文字を1行読み取る。(戻り値はstring型)<br> int型を扱う場合は、型変換を行う必要がある。<br> <source lang="c#"> using System; using System.Text; namespace ReadLine { class Program { static void Main(string[] args) { Console.WriteLine("あなたは何歳ですか?"); var age = int.Parse(Console.ReadLine());//string→int型に型変換 Console.WriteLine("あなたの国の平均寿命は何歳ですか?"); var average_age = int.Parse(Console.ReadLine()); int yourlife = average_age - age; Console.WriteLine($"あなたはあと{yourlife}年生きれるでしょう"); } } } </source> <br><br> == エスケープシーケンス == エスケープシーケンスとは、通常の文字列では表せない特別な機能または特別な文字を表現するものである。<br> * 特別な機能 *: 改行(\n)やタブ(\t)などがある。 * 特別な文字 *: 通常であれば、プログラム上で特別な意味を持つ言葉を、単純な文字として表現する。<br>例えば、2重引用符(")を使用して単純な文字として扱う場合は、\"とする。 <center> {| class="wikitable" |- ! エスケープシーケンス !! 文字名 |- | \' || 単一引用符(') |- | \" || 二重引用符(") |- | \\ || 円記号(\) |- | \0 || null文字 |- | \a || アラート音(警告) |- | \b || バックスペース |- | \f || 改ページ(フォームフィード) |- | \n || 改行 |- | \r || 復帰(キャリッジリターン) |- | \t || 水平タブ |- | \v || 垂直タブ |} </center> <br><br> == 数値を文字列として出力 == * パラメータ指定子を使用する。<br> {0}のところにはaの値が、{1}のところにはbの値、{2}のところにはcの値が入る。<br> {0}や{1}の0の部分をパラメータ指定子と呼ぶ。<br> <source lang="c#"> Console.WriteLine("1番目の値は{0}, 2番目の値は{1}, 3番目の値は{2}", a, b, c); </source> <br> * 文字列補間(String Interpolation)を使用する。 パラメータ指定子は、置換したい変数が多い場合、パラメーター指定子と変数の対応関係が見辛い。<br> この問題を解決するために、文字列補間と呼ばれる機能がC# 6.0から追加された。<br> <source lang="c#"> Console.WriteLine($"1番目の値は{a}, 2番目の値は{b}, 3番目の値は{c}"); </source> <br> * 連結演算子を使用する。 連結演算子(+)は、文字列と文字列を接続するために使用する。<br> 連結演算子(+)を文字列と値に使用した場合、値は文字列に変換される。<br> <source lang="c#"> Console.WriteLine("1番目の値は" + a + ", 2番目の値は" + b + ", 3番目の値は" + c); </source> <br> '''※備考'''<br> ToStringメソッドを使用すると、値型を文字列型へ変換できる。<br> ToStringメソッドの引数を指定しない場合は、値を文字列へ単純に変換する。<br> 値型の変数名.ToString(); <br> 書式指定子を使用する場合は、以下のように引数を指定する。<br> 値型の変数名.ToString("書式指定子"); <br> また、String.Formatメソッドも値型を文字列型へ変換する時に使用することができる。<br> <br> 書式指定子に関しては、こちらのページを参照する。<br> <br><br> == 出力する文字列の幅や右左揃えの指定 == 文字列を出力する時、書式を指定したい場合がある。<br> 書式を指定する場合は、以下のような項目で指定できる。<br> {パラメーター指定子, 書式設定フィールドの幅:書式指定文字列} <br> 以下の記述では、0番目のパラメータ指定子に0.1234を入れて、右揃えで文字幅を10確保し、パーセント表示することを意味する。<br> 書式設定フィールドの幅の値は、正の場合は右揃え、負の場合は左揃えを意味する。<br> もし、書式設定フィールドの幅よりも文字列が長い場合は、設定は無視される。(書式設定フィールドの幅は無効となる)<br> <source lang="c#"> Console.WriteLine("{0, 10:p}", 0.1234); </source> <br><br> == 書式を指定して数値を文字列へ変換 == 数値の書式指定には、"標準の数値書式指定文字列"と"カスタム数値書式指定文字列"という2種類がある。<br> また、標準の数値書式指定文字列は、"書式指定子"と"精度指定子"の組み合わせから成る。<br> <br> ===== 標準の数値書式指定文字列 ===== '''書式指定子'''<br> 書式指定子には、以下のようなものがある。<br> 更に詳しく知りたい場合は、[https://msdn.microsoft.com/ja-jp/library/dwhawy9k(v=vs.110).aspx MSDN]を参照する。<br> <center> {| class="wikitable" |- ! 書式指定子 !! 意味 |- | c(C) || 通貨 |- | d(D) || 10進法表示(整数のみ) |- | e(E) || 浮動小数点による指数表示 |- | f(F) || 固定小数点による指数表示 |- | g(G) || eまたはfのうち簡潔な表示 |- | n(N) || 桁区切りされた表示 |- | p(P) || パーセント表示 |- | r(R) || 変換後の文字列が、変換前の数値に戻れる必要な桁数を確保して表示<br>(Single型、Double型、BigInteger型のみ)<br>(Single型は最大9桁、Double型は最大17桁まで確保する) |- | x(x) || 16進数表示(整数のみ) |- | セル内のテキスト || セル内のテキスト |} </center> <br> '''精度指定子'''<br> 精度指定子は、数値の精度を指定するために使用する。<br> 精度指定子には、0 - 99の整数が入る。また、設定しない場合は既定値が使用される。<br> <br> <span style="color:#C00000"> '''※注意'''<br> '''ラウンドトリップ書式指定子r(R)については、精度指定子を指定する必要がないので、指定した場合は無視される。'''<br> </span> <br> 以下のサンプルコードでは、書式指定子はd、精度指定子が6となり、10進数表示で6桁分確保される。<br> <source lang="c#"> Console.WriteLine(“{0:d6}”, 100); </source> 出力は、以下のようになる。<br> 000100 <br> ===== カスタム数値書式指定文字列 ===== カスタム数値書式指定文字列は、1つ以上のカスタム数値書式指定子で構成される。<br> <br> カスタム数値書式指定子には、以下のようなものがある。<br> 更に詳しく知りたい場合は、[https://msdn.microsoft.com/ja-jp/library/0c899ak8(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-9 MSDN]を参照する。<br> <center> {| class="wikitable" |- ! 書式指定子 !! 意味 |- | 0 || 対応する位置に数字がない場合、0に置き換える |- | # || 対応する数字がある場合#を数字に置き換える。 |- | .(ドット) || 小数点 |- | ,(カンマ) || 桁区切り |- | % || 100を乗じて、%(パーセント記号)をつける。 |- | ‰ || 1000を乗じて、‰(パーミル記号)をつける。 |- | E0 || 指数表示 |- | \ || カスタム書式指定子を単なる文字として解釈する。 |- | ;(セミコロン) || 正、負、ゼロの場合に対してそれぞれ異なる書式指定子を指定したい時に使用 |} </center> <br> <source lang="c#"> namespace Coustom { class Program { static void Main(string[] args) { int num = 0; // 0に対応する位置に数値が入っていない場合は、0が表示される Console.WriteLine("{0:00.00}", 1.2); // 01.20 // 小数点以下にある0の数が、小数点以下の表示桁数になる(入りきらない部分は四捨五入) Console.WriteLine("{0:00.00}", 123.454); // 123.45 Console.WriteLine("{0:00.00}", 123.455); // 123.46 num = 123; // #に対応する位置に数値が入っていない場合は、その部分は表示しない(無意味な0は表示しない) Console.WriteLine("{0:##.##}", 1.2); // 1.2 Console.WriteLine("{0:##.##}", 001.200); // 1.2 // 小数点以下にある0の数が、小数点以下の表示桁数になる(入りきらない部分は四捨五入) Console.WriteLine("{0:##.##}", 123.400); // 123.4 Console.WriteLine("{0:##.##}", 123.454); // 123.45 Console.WriteLine("{0:##.##}", 123.455); // 123.46 num = 123456789; Console.WriteLine(num.ToString("(###)-###-###")); // (123)-456-789 Console.WriteLine(num.ToString("(###)-###")); // (123456)-789 Console.WriteLine(num.ToString("(###)-###-###-(###)")); // ()-123-456-(789) Console.WriteLine("{0:#,#}", 123456789); // 123,456,789 Console.WriteLine("{0:#,}千", 123456789); // 123457千 Console.WriteLine("{0:#,,}百万", 123456789); // 123百万 Console.WriteLine("{0:#,##0}", 123456); // 123,456 Console.WriteLine("{0:#,##0}", 1234.56); // 1,235 Console.WriteLine("{0:#,##0}", 0.01); // 0 Console.WriteLine("{0:#,##0.00}", 123456); // 123,456.00 Console.WriteLine("{0:#,##0.00}", 1234.56); // 1,234.56 Console.WriteLine("{0:#,##0.00}", 0.01); // 0.01 Console.WriteLine("{0:0##,##,##}", 123); // 0,000,123 Console.WriteLine("% のテスト:パーセント"); // %単体だと%の記号が表示される(#や0等を使う) // 小数点以下にある0の数が、小数点以下の表示桁数になる(入りきらない部分は四捨五入) Console.WriteLine("{0:%}", 1.2); // %(不適切な設定) Console.WriteLine("{0:#%}", 1.2); // 120% Console.WriteLine("{0:0%}", 1.2); // 120% Console.WriteLine("{0:#%}", 001.200); // 120% Console.WriteLine("{0:0%}", 001.200); // 120% Console.WriteLine("{0:#.#%}", 0.12345); // 12.3% Console.WriteLine("{0:0.0%}", 0.12345); // 12.3% // ‰単体だと‰の記号が表示される(#や0等を使う) // 小数点以下にある0の数が、小数点以下の表示桁数になる(入りきらない部分は四捨五入) Console.WriteLine("{0:‰}", 1.2); // ‰(不適切な設定) Console.WriteLine("{0:#‰}", 1.2); // 1200‰ Console.WriteLine("{0:0‰}", 1.2); // 1200‰ Console.WriteLine("{0:#‰}", 001.200); // 1200‰ Console.WriteLine("{0:0‰}", 001.200); // 1200‰ Console.WriteLine("{0:#.#‰}", 0.12345); // 123.5‰ Console.WriteLine("{0:0.0‰}", 0.12345); // 123.5‰ // "E0"、"E+0"、"E-0"、"e0"、"e+0", "e-0"のどれかで書く // E+0単体だとE+0の記号が表示される(#や0等を使う) Console.WriteLine("{0:E+0}", 1.2); // E+0(不適切な設定) Console.WriteLine("{0:#.#e0}", 123); // 1.2e2 Console.WriteLine("{0:#.#E0}", 123); // 1.2E2 Console.WriteLine("{0:#.#E-0}", 1.23E+20); // 1.2E20 Console.WriteLine("{0:#.#E+0}", 1.23E+20); // 1.2E+20 Console.WriteLine("{0:#.#E0}", 1.23E+20); // 1.2E20 Console.WriteLine("{0:#.#E-0}", 1.23E-20); // 1.2E-20 Console.WriteLine("{0:#.#E+0}", 1.23E-20); // 1.2E-20 Console.WriteLine("{0:#.#E0}", 1.23E-20); // 1.2E-20 // カスタム書式指定子を単なる文字として解釈する(# 0 .(ドット) ,(カンマ) % ‰に対して使用) Console.WriteLine("{0:000.##}", 12.45); // 012.45 // エスケープシーケンスと勘違いされないようにする(\文字は2つ必要) Console.WriteLine("{0:\\#\\# 000.##}", 12.45); // ## 012.45 // @を使用して逐次的リテラル文字列として扱う(\文字は1つでよい) Console.WriteLine(@"{0:\#\# 000.##}", 12.45); // ## 012.45 // 正、負、ゼロのそれぞれの場合で書式指定子を変更する // {正または負の場合; ゼロの場合} Console.WriteLine("{0:##.##;}", 1.2); // 1.2 Console.WriteLine("{0:##.##;}", -1.2); // -1.2 // {正またはゼロの場合; 負の場合} Console.WriteLine("{0:#0.##;00.00}", 1.2); // 1.2 Console.WriteLine("{0:#0.##;00.00}", -1.2); // 01.20 Console.WriteLine("{0:#0.##;00.00}", 0); // 0 // {正の場合; 負の場合; ゼロの場合} Console.WriteLine("{0:##.##;-00.00;ゼロです}", 1.2345); // 1.23 Console.WriteLine("{0:##.##;-00.00;ゼロです}", -1.2345); // -01.23 Console.WriteLine("{0:##.##;-00.00;ゼロです}", 0); // ゼロです } } } </source> <br><br> __FORCETOC__ [[カテゴリ:C_Sharp]]
C Sharpの基礎 - 文字列
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse