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
0
投稿
猜你喜欢
- SpringDataJpa like查询无效这里写自定义目录标题SpringDataJpa like查询@Query(value = &qu
- engine的实现结构elasticsearch对于索引中的数据操作如读写get等接口都封装在engine中,同时engine还封装了索引的
- Servlet3.0的出现是servlet史上最大的变革,其中的许多新特性大大的简化了web应用的开发,为广大劳苦的程序员减轻了压力,提高了
- JAVAWEB dbutils执行sql命令并遍历结果集时不能查到内容的原因及处理方法如下所示:遍历结果集时只遍历bean对象才会只输出第一
- 比如在类上使用该注解 @Alias("dDebtEntity")则在mapper.xml文件中resultType=&q
- 序言:此前,我们主要通过XML来书写SQL和填补对象映射关系。在SpringBoot中我们可以通过注解来快速编写SQL并实现数据访问。(仅需
- 目前知道的情况被调用的C/C++函数只能是全局函数 不能调用类中的成员方法被调用的C函数必须使用extern “C“包含,保证采用的导出函数
- 【SpringBoot】通过Feign调用传递Header中参数如何通过Feign传递Header参数问题描述我们在SpringCloud中
- jar 包启动时指定配置文件 application.ymlnohup java -jar vPaas.jar --spring.confi
- MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoD
- 一:form在前台以post方式提交数据: 浏览器将数据(假设为“中国”)发送给服务器的时
- 最近学习JavaFx,发现网上大概只有官方文档可以查阅,学习资料较少,写个拼图游戏供记录。。大概说一下思路:1.面板的构建:面板采用Grid
- 前言在很多时候,我们代码中会有很多分支,而且分支下面的代码又有一些复杂的逻辑,相信很多人都喜欢用 if-else/switch-case 去
- 前言现在是移动端产品疯狂的年代,随之,移动端支付也是热门小技能,最近本公司在做一个移动端,要接入微信支付和支付宝支付, * 惯,功能做完之后做
- 目录1. SpringCloud特点2. 分布式系统的三个指标CAP3. Eureka4. SpringCloud Demo4.1 regi
- 客户端代码using System;using System.Collections.Generic;using System.Compon
- 锁作为并发共享数据,保证一致性的工具,在JAVA平台有多种实现(如 synchronized 和 ReentrantLock等等 ) 。这些
- 本文实例讲述了C#远程发送和接收数据流生成图片的方法。分享给大家供大家参考。具体如下:将图片转成数据流方式发送到远程服务,在通过服务器后台程
- 悲观锁、乐观锁简介: 悲观锁:同步操作。即用户A在操作某条数据时,为其上锁,限制其他用户操作,用户A操作完成提交事务后其他用户方可
- 由于是多态对象,基类类型的变量可以保存派生类型。 要访问派生类型的实例成员,必须将值强制转换 * 生类型。 但是,强制转换会引发 Invali