p.30 標準書式指定文字を使った書式の指定
・フォーマット指定子で「{番号, 桁数:●}」とすると●に標準書式指定文字を指定できる
・例えば、標準書式指定文字に「C」を指定すると「通貨」形式になり、前に「\」が付く3桁カンマになる
例:Console.WriteLine("{0, 10:C}", 123456); //「 \123,456」となる
・他に、標準書式指定文字としては、16進数にする「X」パーセント表示にする「P」などがある
p.31 text06.cs
//p.31 text06.cs
using System;
class text06
{
public static void Main()
{
Console.WriteLine("D{0, 10:D}", 123); //「D 123」通常+ルール
Console.WriteLine("X{0, 10:X}", 123); //「X 7B」16進数化
Console.WriteLine("E{0, 10:E}", 123.456); //「E1.234560E+002」指数
Console.WriteLine("F{0, 10:F}", 123.456); //「F 123.46」小数点以下2桁
Console.WriteLine("F{0, 10:F5}", 123.456); //「F 123.45600」小数点以下5桁
Console.WriteLine("C{0, 10:C}", 123456); //「C \123,456」通貨
Console.WriteLine("N{0, 10:N}", 1234.4568);//「N 1,234.46」小数点以下2桁
Console.WriteLine("P{0, 10:P}", 0.05); //「P 5.00%」パーセント
Console.WriteLine("G{0, 10:G}", 123.456); //「G 123.456」通常+ルール
}
}
p.32 カスタム書式指定文字を使った書式の指定
・例えば「SCORE:000,001,234」のように先行ゼロを表示したい場合などに用いる
・カスタム書式指定文字「0」を使うとその数を表示桁数として先行ゼロを表示
例:Console.WriteLine("{0, 10:0000.00}", 1.23); //「0001.23」となる
・小数点以下にカスタム書式指定文字「0」を使うとその数を表示桁数として後続ゼロを表示
例:Console.WriteLine("{0, 10:0000.000}", 1.2); //「0001.200」となる
・上記において「0」の代わりに「#」を用いると「0」が空白になる
・「0」と「#」は混在可能で、それ以外の文字を間に入れることも可能
p.33 text07.cs
//p.33 text07.cs
using System;
class Text07
{
public static void Main()
{
Console.WriteLine("{0, 10:0000.00}", 1.2); //「 0001.20」
Console.WriteLine("{0, 10:####.##}", 1.2); //「 1.2」
Console.WriteLine();
Console.WriteLine("{0, 10:0,0}", 123456); //「 123,456」
Console.WriteLine("{0, 10:#,#}", 123456); //「 123,456」
Console.WriteLine();
Console.WriteLine("{0, 10:0,00000000.00}", 123456); //「000,123,456.00」
Console.WriteLine("{0, 10:#,########.##}", 123456); //「 123,456」
Console.WriteLine();
Console.WriteLine("{0:(000)####-####}", 1132104566); //「(011)3210-4566」
Console.WriteLine("{0, 20:'##'0.00}", 123456); //「 ##123456.00」
}
}
p.34 ユーザの入力を知る
・整数のデータ型である「int」と同様に、文字列のデータ型「string」を用いることができる ・string型の変数を宣言しておけば、文字列を格納できる ・なお、文字列とは0文字以上の文字の並びで、プログラムの中ではダブルクォーテーションで挟んで表す ・Console.WriteLinとは逆に、コンソールから文字列を入力してもらうのがConsole.ReadLine ・Console.ReadLineを実行するとプログラムは一時停止し、文字列とEnterキーが押されるまで待つ ・文字列とEnterキーが押されたら、その文字列がプログラムに渡される ・渡された文字列は「string型の変数 = Console.ReadLine();」としておけば、string型の変数に入る ・この仕掛けにより、プログラム実行後に、コンソールからその都度異なる文字列を与えることができるので、プログラムの柔軟性、 可用性が上がる
p.35 readline01.cs
//p.35 readline01.cs
using System;
class readline01
{
public static void Main()
{
string name; //文字列用のstring型の変数nameの宣言
Console.Write("あなたのお名前は何ですか--- "); //表示
name = Console.ReadLine(); //コンソールから文字列を得て変数nameに代入
Console.WriteLine("あなたのお名前は{0}さんですか", name); //変数nameの値を表示
}
}
アレンジ演習:p.35 readline01.cs
・文字列用のstring型の変数snameの宣言を追加する(苗字用) ・「あなたの苗字は何ですか--- 」と表示する処理を追加 ・コンソールから文字列を得て変数snameに代入 ・「あなたのフルネームは〇〇〇 〇〇〇さんですか」というように、snameとnameの両方の値を表示しよう 実行例: あなたのお名前は何ですか--- amuro ←入力 あなたのお名前はamuroさんですか あなたの苗字は何ですか--- ray ←入力 あなたのフルネームはamuro rayさんですか
p.36 練習問題 ex0201.cs 作成例
//p.36 練習問題 ex0201.cs
using System;
class ex0201
{
public static void Main()
{
string line = Console.ReadLine(); //コンソールから文字列を得て変数lineを初期化
Console.WriteLine(line); //変数lineの値を表示
}
}
p.36 練習問題 ex0201.cs 作成例:別解
//p.36 練習問題 ex0201.cs
using System;
class ex0201
{
public static void Main()
{
Console.WriteLine(Console.ReadLine()); //コンソールから得た文字列を表示
}
}
p.37 3.1 変数の初期化
・変数の宣言と変数への初期値(最初の値)の代入は同時に行える。これを初期化という。(再掲載) ・変数として初期化するが、プログラム内部での値の変更をすべきない場合(例:消費税率)定数にできる ・定数は初期化において前に「const」と記述する ・定数にしておくと、プログラム内部で書き換える処理がエラーになる ・また、消費税率のようにプログラム内に何度も登場値は定数にしておくと、保守性(変更しやすさ)が向上する
提出:p.36 練習問題 ex0201.cs
・作成例と異なっても、長くても短くてもOK