奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >學習資源 > 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入門

主站蜘蛛池模板: 微学堂-电动能源汽车评测_电动车性能分享网 | 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | 北京网络营销推广_百度SEO搜索引擎优化公司_网站排名优化_谷歌SEO - 北京卓立海创信息技术有限公司 | 北京租车公司_汽车/客车/班车/大巴车租赁_商务会议/展会用车/旅游大巴出租_北京桐顺创业租车公司 | 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 云南外加剂,云南速凝剂,云南外加剂代加工-普洱澜湄新材料科技有限公司 | GAST/BRIWATEC/CINCINNATI/KARL-KLEIN/ZIEHL-ABEGG风机|亚喜科技 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 吉祥新世纪铝塑板_生产铝塑板厂家_铝塑板生产厂家_临沂市兴达铝塑装饰材料有限公司 | 耙式干燥机_真空耙式干燥机厂家-无锡鹏茂化工装备有限公司 | 世纪豪门官网 世纪豪门集成吊顶加盟电话 世纪豪门售后电话 | 膏方加工_丸剂贴牌_膏滋代加工_湖北康瑞生物科技有限公司 | 求是网 - 思想建党 理论强党 | 南溪在线-南溪招聘找工作、找房子、找对象,南溪综合生活信息门户! | 实验室隔膜泵-无油防腐蚀隔膜泵-耐腐蚀隔膜真空泵-杭州景程仪器 电杆荷载挠度测试仪-电杆荷载位移-管桩测试仪-北京绿野创能机电设备有限公司 | 扒渣机厂家_扒渣机价格_矿用扒渣机_铣挖机_撬毛台车_襄阳永力通扒渣机公司 | VOC检测仪-甲醛检测仪-气体报警器-气体检测仪厂家-深恒安科技有限公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | UV-1800紫外光度计-紫外可见光度计厂家-翱艺仪器(上海)有限公司 | 成都中天自动化控制技术有限公司| 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 | 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 机器视觉检测系统-视觉检测系统-机器视觉系统-ccd检测系统-视觉控制器-视控一体机 -海克易邦 | 汽车润滑油厂家-机油/润滑油代理-高性能机油-领驰慧润滑科技(河北)有限公司 | STRO|DTRO-STRO反渗透膜(科普)_碟滤 | 慢回弹测试仪-落球回弹测试仪-北京冠测精电仪器设备有限公司 | 中式装修设计_全屋定制家具_实木仿古门窗花格厂家-喜迎门 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 冷水机-工业冷水机-冷水机组-欧科隆品牌保障 | 手术室净化厂家_成都实验室装修公司_无尘车间施工单位_洁净室工程建设团队-四川华锐16年行业经验 | 座椅式升降机_无障碍升降平台_残疾人升降平台-南京明顺机械设备有限公司 | 注塑_注塑加工_注塑模具_塑胶模具_注塑加工厂家_深圳环科 | 高柔性拖链电缆-聚氨酯卷筒电缆-柔性屏蔽电缆厂家-玖泰电缆 | 分轨 | 上传文件,即刻分离人声和伴奏 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 雄松华章(广州华章MBA)官网-专注MBA/MPA/MPAcc/MEM辅导培训 | 防渗土工膜|污水处理防渗膜|垃圾填埋场防渗膜-泰安佳路通工程材料有限公司 | 恒温恒湿箱(药品/保健品/食品/半导体/细菌)-兰贝石(北京)科技有限公司 |