「トップページ/CSHARP/NUMSTR」の編集履歴(バックアップ)一覧はこちら

トップページ/CSHARP/NUMSTR」(2007/10/12 (金) 09:48:31) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

数値・文字列関連 ---- *ヌル判定演算子 console.writeline( s ?? "ヌルです。"); ---- *高速化 ネイティブ イメージ ジェネレーターを使う c:\Windows\Microsoft.NET\Framework\2.0.5727\ngen.exe ---- *ユーザコントロールで、Textプロパティを使う [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] public override string Text { get {... set {... ---- *文字列@ 文字列に@をつけると、¥がそのまま使われる。 つけないと、¥の後ろがエスケープシーケンスになる。 ---- *特殊パスの取得 :システムフォルダ|System.Environmemt.GetFolderPath :プログラムを置いてあるパス|Application.StartupPath :プログラムを起動したパス|DirectoryInfo("."); ---- *ファイル操作(コピー、移動、削除) string src = @"c:\test.txt"; string dst = @"c:\test2.txt"; // ファイルコピー File.Sopy(src, dst); // ファイルの移動 File.Move(src, dst); // ファイルの削除 File.Delete(src); ---- *ファイル・フォルダの有無を調べる -Windows環境では、大文字/小文字の区別はない。 -フォルダ末尾の'\'は、あってもなくても可能 -相対パスでも絶対パスでも可能 // ファイルの有無を調べる string fileName = @"c:\boot.ini"; if (System.IO.File.Exists(fileName) != false) { MessageBox.Show(string.Format("({0})は存在する。", fileName)); } // フォルダの有無を調べる string folderName = @"c:\Windows\"; if (System.IO.Directory.Exists(folderName) != false) { MessageBox.Show(string.Format("({0})は存在する。", folderName)); } ---- *文字列とバイト配列の相互変換 // 文字列→バイト配列 string s = "abc"; byte[] b = Encording.ASCII.GetBytes(s); // バイト配列→文字列 byte [] b = new byte[] { 'a', 'b', 'c' }; string s = Encording.ASCII.GetString(b); ---- *文字列を数値に変換 // 10進文字列を、数値に変換(Parseメソッドを使用する) string s = "123"; int i = int.Parse(s); string s = "1.23"; double d = double.Parse(s); // 16進文字列を、数値に変換(Convertクラスを使用する) string s = "0x12"; // ←先頭に"0x"がなくても可 int i = Convert.ToInt32(s); // 2進文字列を、数値に変換 string s = "1010101"; int i = Convert.ToInt32(s); ---- *数値を文字列に変換 // 数値を、10進文字列に変換 int i = 123;string s = i.ToString();double d = 123.45;string s = d.ToString(); // "123.45"string s = d.ToString("f1"); // "123.5" (四捨五入) // 数値を、16進文字列に変換 int i = 123; string s = i.ToString("x"); // "7b" 小文字になる string s = i.ToString("X"); // "7B" 大文字になる string s = i.ToString("x04"); // "007b" 桁数の指定+0埋め // 数値を、2進数に変換 int i = 123; string s = Convert.ToString(i,2); // "1111011" string s = Convert.ToString(i,2).PadLeft(16,'0'); // "0000000001111011" 桁数指定+0埋め ---- *文字列のフォーマット(printfみたいな…) 指定する書式 書式指定項目の記述例 出力例 幅指定で右詰め String.Format("{0, 4}", num) “ 1” 幅指定で左詰め String.Format("{0, -4}", num) “1 ” 0埋め String.Format("{0:D4}", num) または String.Format("{0:0000}", num) “0001” 幅指定かつ0埋め String.Format("{0, 8:D4}", num) “ 0001” 数値の書式指定でよく使用される書式指定項目の記述例 string str = string.Format("{0},{1}", i, j); //string str = str(boost::format("%05d") % i); //cout << boost::format(... ---- *乱数を得るには System.Random rnd = new System.Random(); int value1 = rnd.Next(); // 0からInt.MaxValueまでの乱数を返す int value2 = rnd.Next(100); // 0以上、100未満の乱数を返す int value2 = rnd.Next(10,100); // 10以上、100未満の乱数を返す ---- *四捨五入について Math.Roundとか、Decimal.Roundは、四捨五入ではない <MSDNより引用> >このメソッドの動作は、IEEE 規格 754、セクション 4 に従います。このような丸めは、近似値への丸めまたは銀行の丸めと呼ばれることがあります。 /// <summary>数値の四捨五入:適当Ver</summary> /// <param name="value">数値</param> /// <param name="place">桁数(0=整数</param> double RoundOff(double value, uint place) { return Convert.ToDouble(value.ToString("f"+place.ToString())); } /// <summary>数値の四捨五入:真面目Ver</summary> /// <param name="value">数値</param> /// <param name="place">桁数(0=整数</param> double RoundOff(double value, uint place) { double d = Math.Pow(10, (double)place); return Math.Floor(value * d + 0.5) / d; }
|&big(){数値・文字列関連}| #contents() ---- *ヌル判定演算子 console.writeline( s ?? "ヌルです。"); ---- *ユーザコントロールで、Textプロパティを使う [DesignerSerializationVisibility(DesignerSerializationVisibility.Visible)] public override string Text { get {... set {... ---- *文字列@ 文字列に@をつけると、¥がそのまま使われる。 つけないと、¥の後ろがエスケープシーケンスになる。 ---- *特殊パスの取得 :システムフォルダ|System.Environmemt.GetFolderPath :プログラムを置いてあるパス|Application.StartupPath :プログラムを起動したパス|DirectoryInfo("."); ---- *ファイル操作(コピー、移動、削除) string src = @"c:\test.txt"; string dst = @"c:\test2.txt"; // ファイルコピー File.Sopy(src, dst); // ファイルの移動 File.Move(src, dst); // ファイルの削除 File.Delete(src); ---- *ファイル・フォルダの有無を調べる -Windows環境では、大文字/小文字の区別はない。 -フォルダ末尾の'\'は、あってもなくても可能 -相対パスでも絶対パスでも可能 // ファイルの有無を調べる string fileName = @"c:\boot.ini"; if (System.IO.File.Exists(fileName) != false) { MessageBox.Show(string.Format("({0})は存在する。", fileName)); } // フォルダの有無を調べる string folderName = @"c:\Windows\"; if (System.IO.Directory.Exists(folderName) != false) { MessageBox.Show(string.Format("({0})は存在する。", folderName)); } ---- *文字列とバイト配列の相互変換 // 文字列→バイト配列 string s = "abc"; byte[] b = Encording.ASCII.GetBytes(s); // バイト配列→文字列 byte [] b = new byte[] { 'a', 'b', 'c' }; string s = Encording.ASCII.GetString(b); ---- *文字列を数値に変換 // 10進文字列を、数値に変換(Parseメソッドを使用する) string s = "123"; int i = int.Parse(s); string s = "1.23"; double d = double.Parse(s); // 16進文字列を、数値に変換(Convertクラスを使用する) string s = "0x12"; // ←先頭に"0x"がなくても可 int i = Convert.ToInt32(s); // 2進文字列を、数値に変換 string s = "1010101"; int i = Convert.ToInt32(s); ---- *数値を文字列に変換 // 数値を、10進文字列に変換 int i = 123;string s = i.ToString();double d = 123.45;string s = d.ToString(); // "123.45"string s = d.ToString("f1"); // "123.5" (四捨五入) // 数値を、16進文字列に変換 int i = 123; string s = i.ToString("x"); // "7b" 小文字になる string s = i.ToString("X"); // "7B" 大文字になる string s = i.ToString("x04"); // "007b" 桁数の指定+0埋め // 数値を、2進数に変換 int i = 123; string s = Convert.ToString(i,2); // "1111011" string s = Convert.ToString(i,2).PadLeft(16,'0'); // "0000000001111011" 桁数指定+0埋め ---- *文字列のフォーマット(printfみたいな…) 指定する書式 書式指定項目の記述例 出力例 幅指定で右詰め String.Format("{0, 4}", num) “ 1” 幅指定で左詰め String.Format("{0, -4}", num) “1 ” 0埋め String.Format("{0:D4}", num) または String.Format("{0:0000}", num) “0001” 幅指定かつ0埋め String.Format("{0, 8:D4}", num) “ 0001” 数値の書式指定でよく使用される書式指定項目の記述例 string str = string.Format("{0},{1}", i, j); //string str = str(boost::format("%05d") % i); //cout << boost::format(... ---- *乱数を得るには System.Random rnd = new System.Random(); int value1 = rnd.Next(); // 0からInt.MaxValueまでの乱数を返す int value2 = rnd.Next(100); // 0以上、100未満の乱数を返す int value2 = rnd.Next(10,100); // 10以上、100未満の乱数を返す ---- *四捨五入について Math.Roundとか、Decimal.Roundは、四捨五入ではない <MSDNより引用> >このメソッドの動作は、IEEE 規格 754、セクション 4 に従います。このような丸めは、近似値への丸めまたは銀行の丸めと呼ばれることがあります。 /// <summary>数値の四捨五入:適当Ver</summary> /// <param name="value">数値</param> /// <param name="place">桁数(0=整数</param> double RoundOff(double value, uint place) { return Convert.ToDouble(value.ToString("f"+place.ToString())); } /// <summary>数値の四捨五入:真面目Ver</summary> /// <param name="value">数値</param> /// <param name="place">桁数(0=整数</param> double RoundOff(double value, uint place) { double d = Math.Pow(10, (double)place); return Math.Floor(value * d + 0.5) / d; }

表示オプション

横に並べて表示:
変化行の前後のみ表示: