C#中的小数和百分数计算与byte数组操作

 更新时间:2022年04月25日 08:23:26   作者:農碼一生  
这篇文章介绍了C#中的小数和百分数计算与byte数组操作,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

一、百分数

//按照四舍五入的国际标准
string p1 = (Math.Round(0.333367, 4)*100).ToString() + "%";//33.34%
double dbdata = Math.Round((double)1 / (double)3, 5) * 100;//33.333
string p2 = String.Format("{0:F}", dbdata) + "%";//默认为保留两位

二、进制保留

带小数点

//保证分母为double
double t = Math.Round(1.0 / 3, 5) * 100;//33.33
double tt = Math.Round(1.0 / 3.0, 5) * 100;//33.333
//m代表decimal.
decimal res = 100m / 1000;//0.1

不带小数点

//保留为整数
double ttt = Math.Round(1.0 / 3.0, 0);//0

三、取余数

int a = 10 % 3;//取余数

byte数组操作

//1.字节转换
float m = 5f;
var btValue = BitConverter.GetBytes(m).Reverse().ToArray();
//转为原值字符串
string m1 = System.Text.Encoding.Default.GetString(btValue);

//2.byte 数组合并
byte[] data = new byte[10];
byte[] counts = new byte[3];
byte[] ndata = new byte[data.Length + counts.Length];
//将data复制到ndata
data.CopyTo(ndata, 0);//从ndata的下标为0的地方开始存放
counts.CopyTo(ndata, data.Length);

//3.string和byte[]转换
string str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//string转byte[]:
byte[] byteArray1 = System.Text.Encoding.Default.GetBytes(str);
//byte[] 转string:
string str1 = System.Text.Encoding.Default.GetString(byteArray1);
//string转ASCII byte[]:
byte[] byteArray2 = System.Text.Encoding.ASCII.GetBytes(str);
//ASCII byte[] 转string:
string str2 = System.Text.Encoding.ASCII.GetString(byteArray2);

//4.字符串拆分数组
string a = "A|B|C|D";
string[] a1 = a.Split('|');

//5.Int转为16进制
int b = 58;
byte b1 = Convert.ToByte(b);

//6.byte数组截取
byte[] test = byteArray2.Skip(4).Take(3).ToArray();//从下标4开始截取长度3

//7.List转为Byte[]
List<byte> frameBytes = new List<byte>();
frameBytes.Add(0x9E);
byte[] phoneNumByte = new byte[] { 0x01, 0x03, 0x05, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00 };//定义一个数组        
for (int i = 0; i < phoneNumByte.Length; i++)
{
    frameBytes.Add(phoneNumByte[i]);
}
frameBytes = frameBytes.Concat(byteArray2).ToList<byte>();//两个list合并
//list转byte[]
byte[] transByte = frameBytes.ToArray();
//byte[]转list
List<byte> lb =transByte.ToList();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • WinForm中的几个实用技巧汇总

    WinForm中的几个实用技巧汇总

    这篇文章主要介绍了WinForm中的几个实用技巧,是进行C#程序设计中经常用到的技巧,需要的朋友可以参考下
    2014-08-08
  • C#文件管理类Directory实例分析

    C#文件管理类Directory实例分析

    这篇文章主要介绍了C#文件管理类Directory,非常实用,需要的朋友可以参考下
    2014-08-08
  • c# 给pdf添加数字签名的步骤

    c# 给pdf添加数字签名的步骤

    这篇文章主要介绍了c# 给pdf添加数字签名的步骤,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下
    2020-12-12
  • c#如何实现程序加密隐藏

    c#如何实现程序加密隐藏

    LiteDB是一个轻量级的嵌入式数据库,它是用C#编写的,适用于.NET平台,这篇文章主要介绍了如何通过LiteDB将自己的程序进行加密,感兴趣的可以了解下
    2023-08-08
  • C#项目彩票选号实现思路

    C#项目彩票选号实现思路

    今天做了一个彩票选号的小软件,将学到的知识点总结一下,下面通过本文给大家分享C#项目彩票选号实现思路,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • C#操作JSON(序列化与反序列化)的方法详解

    C#操作JSON(序列化与反序列化)的方法详解

    .net core提供了Json处理模块,在命名空间System.Text.Json中,本文将通过顶级语句,对C#的Json功能进行讲解,感兴趣的小伙伴可以了解一下
    2023-05-05
  • C#对集合进行排序

    C#对集合进行排序

    这篇文章介绍了C#对集合进行排序的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • C#配置文件设置及应用详解

    C#配置文件设置及应用详解

    在软件开发过程中,配置文件是常用的一个功能,用于在程序运行时调整应用程序的行为,C# 提供了多种方式来创建和使用配置文件,本文将详细介绍 C# 配置文件的创建、修改、读取和写入,以及跨平台配置文件的应用,需要的朋友可以参考下
    2024-06-06
  • C#控制IE进程关闭和缓存清理的实现代码

    C#控制IE进程关闭和缓存清理的实现代码

    这篇文章主要介绍了C#控制IE进程关闭和缓存清理的实现代码,需要的朋友可以参考下
    2014-04-04
  • C#应用程序与数据库的集成几种方法

    C#应用程序与数据库的集成几种方法

    应用程序集成数据库是许多软件项目的关键方面,无论构建的是Web应用程序、桌面应用程序还是移动应用程序,高效无缝地与数据库集成,对于存储、检索和操作数据都至关重要,本文将介绍数据库与C#应用程序集成的几种方法与使用注意事项,需要的朋友可以参考下
    2024-06-06

最新评论