• <i id="lhqfs"></i>
    <source id="lhqfs"></source>
  • <cite id="lhqfs"></cite>

    <rp id="lhqfs"></rp>
  • <rt id="lhqfs"></rt>
    您現在所在的位置:首頁 >學習資源 > Unity游戲/VR/AR入門教材 > VR開發入門教程39:控制臺編程--字符串03

    VR開發入門教程39:控制臺編程--字符串03

    來源:奇酷教育 發表于:

      字符串和ASCII碼的轉換  字符串是字符組成的一個序列,而字符底層是一個ASCII碼,所以字符串可以轉換成ASCII碼組成的一個序列。用Sys

      字符串和ASCII碼的轉換

      字符串是字符組成的一個序列,而字符底層是一個ASCII碼,所以字符串可以轉換成ASCII碼組成的一個序列。用System.Text.ASCIIEncoding.ASCII.GetBytes(字符串)的方式將字符串轉為字節數組。

      要求:求得0-9 a-z A-Z ASCII碼

      示例:

      public static void ParseStringToAscII()

      {

      String s = "09123123asjdhgahsjdgJGJGFJaksjdakshdhkgjgjh";

      // 轉出成字節數組

      byte[] bytes = System.Text.ASCIIEncoding.ASCII.GetBytes(s);

      for (int i = 0; i < bytes.Length; i++)

      {

      Console.WriteLine(bytes[i]);

      }

      // 已知一個字節數組 如何轉回字符串

      String reverse = System.Text.Encoding.UTF8.GetString(bytes);

      Console.WriteLine(reverse);

      }

      字符串的格式化

      Format 方法

      標準的數學格式字符串用于返回通常使用的字符串。它們通常象X0這樣的格式。X是格式化標識符,0是精度標識符。格式標識符號共有9種,它們代表了大多數常用的數字格式。就像下表所示:

      String.Format("{0}{1}{2}{0}{1}{2}","a","b","c");

      int i = 123456;

      Console.WriteLine("{0:C}", i); // ¥123,456.00

      Console.WriteLine("{0:D}", i); // 123456

      Console.WriteLine("{0:E}", i); // 1.234560E+005

      Console.WriteLine("{0:F}", i); // 123456.00

      Console.WriteLine("{0:G}", i); // 123456

      Console.WriteLine("{0:N}", i); // 123,456.00

      Console.WriteLine("{0:P}", i); // 12,345,600.00 %

      Console.WriteLine("{0:X}", i); // 1E240

      Console.WriteLine("{0:C5}", i); // ¥123,456.00

      Console.WriteLine("{0:D5}", i); // 123456

      Console.WriteLine("{0:E5}", i); // 1.23456E+005

      Console.WriteLine("{0:F5}", i); // 123456.00000

      Console.WriteLine("{0:G5}", i); // 1.23456E5

      Console.WriteLine("{0:N5}", i); // 123,456.00000

      Console.WriteLine("{0:P5}", i); // 12,345,600.00000 %

      Console.WriteLine("{0:X5}", i); // 1E240

      綜合示例:

      如何將一個復雜的數學表達式解析成 運算符和運算數

      public static int SplitExpression(String expression)

      {

      // 拆出數字

      String[] nums = expression.Split("+-*/".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);

      // 拆出運算符

      String[] ops = expression.Split("0123456789".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);

      // 如何計算

      // 先乘除

      ComputeByOp(nums,ops,"*/");

      // 后加減

      for (int i = 0; i < ops.Length; i++)

      {

      // 當運算符不為null的時候 運算

      if (ops[i] != null)

      {

      // 判斷是否為加或減

      if (ops[i] == "+" || ops[i] == "-")

      {

      // 找出兩個運算數

      int num1 = int.Parse(nums[i]);

      int num2 = int.Parse(nums[i + 1]);

      // 計算結果

      int result = Compute(ops[i],num1,num2);

      // 結果放入

      nums[i] = result.ToString();

      // 移動運算符和運算數數組

      MoveArrByIndex(ops,i);

      MoveArrByIndex(nums, i+1);

      // 當前位置重新判斷

      i--;

      }

      }

      else

      {

      break;

      }

      }

      return int.Parse(nums[0]);

      }

      public static void ComputeByOp(String[] nums,String[] ops,String op)

      {

      for (int i = 0; i < ops.Length; i++)

      {

      // 當運算符不為null的時候 運算

      if (ops[i] != null)

      {

      // 判斷是否為乘或除

      if (op.Contains(ops[i]))

      {

      // 找出兩個運算數

      int num1 = int.Parse(nums[i]);

      int num2 = int.Parse(nums[i + 1]);

      // 計算結果

      int result = Compute(ops[i], num1, num2);

      // 結果放入

      nums[i] = result.ToString();

      // 移動運算符和運算數數組

      MoveArrByIndex(ops, i);

      MoveArrByIndex(nums, i + 1);

      // 當前位置重新判斷

      i--;

      }

      }

      else

      {

      break;

      }

      }

      }

      public static void MoveArrByIndex(String[] arr,int startIndex)

      {

      // 將移動的位置置為null

      arr[startIndex] = null;

      for (int i = startIndex; i < arr.Length-1; i++)

      {

      if (arr[i+1] != null)

      {

      // 交換

      String temp = arr[i];

      arr[i] = arr[i + 1];

      arr[i + 1] = temp;

      }

      }

      }

      public static int Compute(String op,int num1,int num2)

      {

      switch (op)

      {

      case "+": return num1 + num2;

      case "-": return num1 - num2;

      case "*": return num1 * num2;

      case "/": return num1 / num2;

      default: return 0;

      }

      }

    >>>更多Python入門教程:Python入門

    老女人老肥熟国产在线视频_亚洲av无限制福利在线_亚洲第一天堂国产丝袜熟女_免费好看的国产精品