C#实现字符串进制转换方法汇总
作者:ou.cs 发布时间:2022-01-03 09:30:37
标签:C#,字符串,进制,转换
C# 字符串进制转换
/// <summary>
/// 进制转换
/// </summary>
/// <param name="input"></param>
/// <param name="fromType">原来的进制格式</param>
/// <param name="toType">要转换成的进制格式</param>
/// <returns></returns>
public string ConvertGenericBinary(string input, byte fromType, byte toType)
{
string output = input;
switch (fromType)
{
case 2:
output = ConvertGenericBinaryFromBinary(input, toType);
break;
case 8:
output = ConvertGenericBinaryFromOctal(input, toType);
break;
case 10:
output = ConvertGenericBinaryFromDecimal(input, toType);
break;
case 16:
output = ConvertGenericBinaryFromHexadecimal(input, toType);
break;
default:
break;
}
return output;
}
/// <summary>
/// 从二进制转换成其他进制
/// </summary>
/// <param name="input"></param>
/// <param name="toType"></param>
/// <returns></returns>
private string ConvertGenericBinaryFromBinary(string input, byte toType)
{
switch (toType)
{
case 8:
//先转换成十进制然后转八进制
input = Convert.ToString(Convert.ToInt32(input, 2), 8);
break;
case 10:
input = Convert.ToInt32(input, 2).ToString();
break;
case 16:
input = Convert.ToString(Convert.ToInt32(input, 2), 16);
break;
default:
break;
}
return input;
}
/// <summary>
/// 从八进制转换成其他进制
/// </summary>
/// <param name="input"></param>
/// <param name="toType"></param>
/// <returns></returns>
private string ConvertGenericBinaryFromOctal(string input, byte toType)
{
switch (toType)
{
case 2:
input = Convert.ToString(Convert.ToInt32(input, 8), 2);
break;
case 10:
input = Convert.ToInt32(input, 8).ToString();
break;
case 16:
input = Convert.ToString(Convert.ToInt32(input, 8), 16);
break;
default:
break;
}
return input;
}
/// <summary>
/// 从十进制转换成其他进制
/// </summary>
/// <param name="input"></param>
/// <param name="toType"></param>
/// <returns></returns>
private string ConvertGenericBinaryFromDecimal(string input, int toType)
{
string output = "";
int intInput = Convert.ToInt32(input);
switch (toType)
{
case 2:
output = Convert.ToString(intInput, 2);
break;
case 8:
output = Convert.ToString(intInput, 8);
break;
case 16:
output = Convert.ToString(intInput, 16);
break;
default:
output = input;
break;
}
return output;
}
/// <summary>
/// 从十六进制转换成其他进制
/// </summary>
/// <param name="input"></param>
/// <param name="toType"></param>
/// <returns></returns>
private string ConvertGenericBinaryFromHexadecimal(string input, int toType)
{
switch (toType)
{
case 2:
input = Convert.ToString(Convert.ToInt32(input, 16), 2);
break;
case 8:
input = Convert.ToString(Convert.ToInt32(input, 16), 8);
break;
case 10:
input = Convert.ToInt32(input, 16).ToString();
break;
default:
break;
}
return input;
}
C#进制转换方法汇总
进制转换汇总
1.十进制数转二进制数(结果:11)
string s1 = Convert.ToString(3, 2);
2.十进制数转二进制数(结果:0011) (左侧补位方法,转八进制,转十六进制……与之类似)
string s2 = Convert.ToString(3, 2).PadLeft(4, '0');
3.十进制数转二进制数(结果:1100) (右侧补位方法,转八进制,转十六进制……与之类似)
string s3 = Convert.ToString(3, 2).PadRight(4, '0');
4.十六进制转二进制数(结果:00001111)
string s4 = Convert.ToString(0xf, 2).PadLeft(8, '0');
string s5 = Convert.ToString(0xF, 2).PadLeft(8, '0'); //不区分大小写,结果一样。
5.十六进制转十进制数
string s6 = Convert.ToString(0xf, 10); //结果:15,string类型
string s7 = Convert.ToString(0xf, 10).PadLeft(4, '0'); //结果:0015,string类型
int s8 = Convert.ToInt32("f", 16); //结果:15,int类型
6.二进制转十进制(结果:15)
int s9 = Convert.ToInt32("1111", 2);
7.十六进制转十进制(结果:48)
int s10 = Convert.ToInt32("30", 16);
8.十进制转十六进制(结果:f)
string s12 = string.Format("{0:x0}", 15);
// 第2种方法:
string s12 = convert.ToString(15,16);
9.二进制转十六进制(结果:f)
string s13 = string.Format("{0:x}", Convert.ToInt32("1111", 2));
10.字符转十进制数(结果:65)
int s14 = Convert.ToInt32('A');
11.将字符串中第1个字符转成十进制数(结果:65)
string s15 = "AB";
int s16 = Convert.ToInt32(Convert.ToChar(s15[0]));
Console.WriteLine(s16);
12.十六进制转浮点数(结果:0.68)
byte[] bt = new byte[4] { 0x7b, 0x14, 0x2e, 0x3f };
float ff = BitConverter.ToSingle(bt, 0);
13,浮点数转十六进制数
float f = 0.68f;
string str1 = BitConverter.ToString(BitConverter.GetBytes(f)).Replace("-", ""); //结果:7B142E3F
string str2 = BitConverter.ToString(BitConverter.GetBytes(f)); //结果:7B-14-2E-3F
14.int 转字符串
int n = 49;
string str1 = n.ToString(); //结果:49
string str2 = n.ToString("x"); //结果:0x31
15.字符串转int
string str = "31";
int i = Convert.ToInt32(str); //结果:31
16.byte 转 int
byte bt = 0x31;
int i = Convert.ToInt32(bt); //结果;49
17.ushort[]转换为float类型
ushort[] val ;
List<byte> result = new List<byte>();
result.AddRange(BitConverter.GetBytes(val[0]));
result.AddRange(BitConverter.GetBytes(val[1]));
float JG= BitConverter.ToSingle(result.ToArray(), 0);
18.float转换为ushort[]类型
float value;
ushort lowOrderValue = BitConverter.ToUInt16(BitConverter.GetBytes(value), 2);
ushort highOrderValue = BitConverter.ToUInt16(BitConverter.GetBytes(value), 0);
来源:https://blog.csdn.net/weixin_44291381/article/details/127841947


猜你喜欢
- 注册中心呢 就是springcloud的一个核心组件 所有微服务的基石 微服务的核心思想就是分布式 所有的服务分开管理 但这些服务分开后该如
- 在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一
- 前言本文,将介绍如何通过Java后端程序代码在PDF中创建工具提示。添加工具提示后,当鼠标悬停在页面上的元素时,将显示工具提示内容。导入ja
- 对于有Java开发经验的朋友都知道,Java中不需要手动的申请和释放内存,JVM会自动进行垃圾回收;而使用的内存是由JVM控制的。那么,什么
- 本文实例为大家分享了Android自定义圆环倒计时控件的具体代码,供大家参考,具体内容如下先来一张最终效果图:主要思路: 在画渐变
- 本文实例讲述了android编程之xml文件读取和写入方法。分享给大家供大家参考。具体分析如下:一、环境:主机:WIN8开发环境:Eclip
- 1.安装插件首先需要安装所用到的插件,分别用来支持Java、热部署和Tomcat服务器的插件在插件市场中搜索Java,第一个就是Extens
- 前言在讲这两种方式之前,我们先来说明一下什么是java中的jar文件jar (Java Archive File),翻译过来就是java的档
- 在C#的数字运算过程中,有时候针对十进制decimal类型的计算需要保留2位有效小数,针对decimal变量保留2位有效小数有多种方法,可以
- 本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下下图中两个不同的方法就是两种页面之间跳转的情况1).跳转不
- 本文的主要内容包括在下图,下面来一起看看吧。1、&和&&的区别2、switchswitch语句能否作用在byte,能
- 【1】阻塞队列一、什么是阻塞队列?① 支持阻塞的插入方法:意思是当队列满时,队列会阻塞插入元素的线程,直到队列不满。② 支持阻塞的移除方法:
- Maven setting中私有仓库配置浅析最近遇到过不少这样那样的问题,曾经做过maven的分享,但是发现当时部分内容还是太想当然了,下面
- 本文采用C#实例讲解了处理图片为浮雕效果的实现方法,这在PS中是一个常见的功能,也是C#中的一个简单的图像处理例子。程序先读取原图,然后依次
- 1.Fragment页面xml布局:<RelativeLayoutxmlns:android="http://schemas
- 前言在实际的开发过程中,我们经常修改代码之后,手动的重启项目,查看修改效果。那么有没有一种方式能够快速的、自动的帮我们将修改代码自动更新,避
- 字符串的编码方式UTF-8是Unicode的一种实现方式,也就是它的字节结构有特殊要求,所以我们说一个汉字的范围是0X4E00到0x9FA5
- 一、ListView类1、常用的基本属性:(1)FullRowSelect:设置是否行选择模式。(默认为false) 提示:只有在Detai
- Hystrix Dashboard,它主要用来实时监控Hystrix的各项指标信息。通过Hystrix Dashboard反馈的实时信息,可
- 定义队列是 Apache RocketMQ 中消息存储和传输的实际容器,也是 Apache RocketMQ 消息的最小存储单元。 Apac