C#中的小數(shù)和百分?jǐn)?shù)計算與byte數(shù)組操作
更新時間:2022年04月25日 08:23:26 作者:農(nóng)碼一生
這篇文章介紹了C#中的小數(shù)和百分?jǐn)?shù)計算與byte數(shù)組操作,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
一、百分?jǐn)?shù)
//按照四舍五入的國際標(biāo)準(zhǔn) 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) + "%";//默認(rèn)為保留兩位
二、進制保留
帶小數(shù)點
//保證分母為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
不帶小數(shù)點
//保留為整數(shù) double ttt = Math.Round(1.0 / 3.0, 0);//0
三、取余數(shù)
int a = 10 % 3;//取余數(shù)
byte數(shù)組操作
//1.字節(jié)轉(zhuǎn)換 float m = 5f; var btValue = BitConverter.GetBytes(m).Reverse().ToArray(); //轉(zhuǎn)為原值字符串 string m1 = System.Text.Encoding.Default.GetString(btValue); //2.byte 數(shù)組合并 byte[] data = new byte[10]; byte[] counts = new byte[3]; byte[] ndata = new byte[data.Length + counts.Length]; //將data復(fù)制到ndata data.CopyTo(ndata, 0);//從ndata的下標(biāo)為0的地方開始存放 counts.CopyTo(ndata, data.Length); //3.string和byte[]轉(zhuǎn)換 string str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //string轉(zhuǎn)byte[]: byte[] byteArray1 = System.Text.Encoding.Default.GetBytes(str); //byte[] 轉(zhuǎn)string: string str1 = System.Text.Encoding.Default.GetString(byteArray1); //string轉(zhuǎn)ASCII byte[]: byte[] byteArray2 = System.Text.Encoding.ASCII.GetBytes(str); //ASCII byte[] 轉(zhuǎn)string: string str2 = System.Text.Encoding.ASCII.GetString(byteArray2); //4.字符串拆分?jǐn)?shù)組 string a = "A|B|C|D"; string[] a1 = a.Split('|'); //5.Int轉(zhuǎn)為16進制 int b = 58; byte b1 = Convert.ToByte(b); //6.byte數(shù)組截取 byte[] test = byteArray2.Skip(4).Take(3).ToArray();//從下標(biāo)4開始截取長度3 //7.List轉(zhuǎn)為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 };//定義一個數(shù)組 for (int i = 0; i < phoneNumByte.Length; i++) { frameBytes.Add(phoneNumByte[i]); } frameBytes = frameBytes.Concat(byteArray2).ToList<byte>();//兩個list合并 //list轉(zhuǎn)byte[] byte[] transByte = frameBytes.ToArray(); //byte[]轉(zhuǎn)list List<byte> lb =transByte.ToList();
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
操作XML文檔遇到的XMLNS問題及解決方法 (C# 和 PHP)
不管是用 PHP 還是 C#, 在操作 XML 的時候我們除了一個節(jié)點一個節(jié)點去取值之外, 還有一個非常方便的表達(dá)式, 就是 XPATH2011-05-05