C#控制台基础 无符号八进制小数转换为十进制
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#控制台基础 无符号八进制小数转换为十进制相关的知识,希望对你有一定的参考价值。
镇场诗:
———大梦谁觉,水月中建博客。百千磨难,才知世事无常。
———今持佛语,技术无量愿学。愿尽所学,铸一良心博客。
——————————————————————————————————————————
1 code
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace ConsoleApplication15 8 { 9 class Program 10 { 11 static void Main(string[] args) 12 { 13 Console.WriteLine("your turn:"); 14 string value = Console.ReadLine(); 15 16 //分离字符串,以小数点为界限 17 string[] values = value.Split(new char[] { ‘.‘ }, StringSplitOptions.RemoveEmptyEntries); 18 19 //存储小数部分的字符串 20 string decimalsPart = values[1]; 21 //存储整数部分的字符串 22 string integerPart = values[0]; 23 24 //小数部分出来的10进制数字一定是double类型的 25 double sumOfDecimalsPart = 0.0; 26 for (int i = 0; i < decimalsPart.Length; i++) 27 { 28 //decimalsPart[i]是char类型,所以要加一个tostring 29 //在算法设计的初级阶段,不要写出一个有多个变量的长式子, 30 //要把式子的每个变量都用单独命名,然后调试的时候可以检测到是哪一个变量出了问题 31 //int itemp = Convert.ToInt32(decimalsPart[i].ToString()); 32 33 sumOfDecimalsPart += Convert.ToDouble(Convert.ToInt32(decimalsPart[i].ToString()) * Math.Pow(8, -(i+1))); 34 } 35 36 37 int sumOfintegerPart = 0; 38 for (int i = 0; i < integerPart.Length; i++) 39 { 40 //decimalsPart[i]是char类型,所以要加一个tostring 41 //在算法设计的初级阶段,不要写出一个有多个变量的长式子, 42 //要把式子的每个变量都用单独命名,然后调试的时候可以检测到是哪一个变量出了问题 43 //int itemp = Convert.ToInt32(decimalsPart[i].ToString()); 44 45 sumOfintegerPart += Convert.ToInt32(Convert.ToInt32(integerPart[i].ToString()) * Math.Pow(8, i)); 46 } 47 48 Console.Write("decimalsPart:"); 49 Console.WriteLine(decimalsPart); 50 51 Console.Write("sumOfDecimalsPart:"); 52 Console.WriteLine(sumOfDecimalsPart); 53 54 Console.Write("integerPart:"); 55 Console.WriteLine(integerPart); 56 57 Console.Write("sumOfintegerPart:"); 58 Console.WriteLine(sumOfintegerPart); 59 60 Console.Write("result:"); 61 62 // 这里实现的是整数部分与小数部分的拼接 63 Console.WriteLine(sumOfintegerPart+sumOfDecimalsPart.ToString().Substring(1)); 64 Console.ReadKey(); 65 } 66 } 67 }
2 show
——————————————————————————————————————————
博文的精髓,在技术部分,更在镇场一诗。
C#是优秀的语言,值得努力学习。
如果博文的内容有可以改进的地方,甚至有错误的地方,请留下评论,我一定努力改正,争取铸成一个良心博客。
注:此文仅作为科研学习,如果我无意中侵犯了您的权益,请务必及时告知,我会做出改正。
以上是关于C#控制台基础 无符号八进制小数转换为十进制的主要内容,如果未能解决你的问题,请参考以下文章
将十进制转换为小数点后两个零的字符串,和逗号? C# [重复]
C#Winform基础 八进制数转换为十进制数(无符号,整数,正数)