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();

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

(0)

相关推荐

  • C#小数点格式化用法小结

    本文实例讲述了C#小数点格式化用法.分享给大家供大家参考,具体如下: 1.ToString()方法 double d=12345678.2334; Console.WriteLine(d.ToString("F2")); //1234.23 Console.WriteLine(d.ToString("###,###.00")); //12,345,678.23 2.Math.Round()方法 Math.Round(3.44, 1); //Returns 3.4.

  • C# 实现把double 存成两位精度小数

    C#语言的double类型占用8字节,代码中的常数是小数形式,默认是double类型. float赋值给double类型,自动转为doule类型. double类型的小数位默认最少一位,如果小数位数后有多余的0自动把多余的0去掉. 例如: double dTest = 1234;//此时dTest的值为1234.0:dTest = 1.00;//此时dTEst的值为1.0: 如果调用 dTest.ToString();得到的字符串为1234,自动把小数位末尾的0省略.除非指定格式,详情如下: 程

  • C#实现百分比转小数的方法

    本文实例讲述了C#实现百分比转小数的方法.分享给大家供大家参考.具体分析如下: 近日需要用到百分比转小数功能,而且百分比是字符串格式(可以带或不带百分号). 如果是小数转百分比那就简单了,C#里数字格式字符串有个 p . 但是百分比转小数还真不知道有没有?简单看了一下MSDN,没有发现(眼花?). 因此,直接搞了一个方法来实现: /// <summary> /// 将百分比转换成小数 /// </summary> /// <param name="perc"

  • C# 小数位数保留的方法集锦

    1.System.Globalization.NumberFormatInfo provider = new System.Globalization.NumberFormatInfo(); provider.NumberDecimalDigits =intDecLength; //要设定的小数位数 double strCashAmt=Convert.ToDouble(this.txtCashAmt.Text); //先把控件內的值转成double this.txtCashAmt.Text =

  • C#中decimal保留2位有效小数的实现方法

    在C#的数字运算过程中,有时候针对十进制decimal类型的计算需要保留2位有效小数,针对decimal变量保留2位有效小数有多种方法,可以使用Math.Round方法以及ToString先转换为字符串等操作来实现. (1)方法一:使用C#中的数字计算类Math类中的方法Math.Round方法. Math.Round方法是用于计算四舍五入的方法,其中一个方法签名为decimal Round(decimal d, int decimals),d代表要进行计算的decimal变量,decimals

  • 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) + "%";//默认为保留两位 二.进制保留 带小数

  • JavaScript使用Math.Min返回两个数中较小数的方法

    本文实例讲述了JavaScript使用Math.Min返回两个数中较小数的方法.分享给大家供大家参考.具体如下: 下面JavaScript通过Math.Min返回两个数中较小的那个 <!DOCTYPE html> <html> <body> <p id="demo"> Click the button to return the lowest number of 5 and 10. </p> <button onclic

  • 详解C++编程中表达式的语义与计算顺序

    表达式根据其运算符的优先级和分组来计算. 计算顺序 请看以下示例: // expre_pluslang__pluslang_Order_of_Evaluation.cpp // compile with: /EHsc #include <iostream> using namespace std; int main() { int a = 2, b = 4, c = 9; cout << a + b * c << "\n"; cout <<

  • php计算多维数组中所有值总和的方法

    本文实例讲述了php计算多维数组中所有值总和的方法.分享给大家供大家参考.具体实现方法如下: php 内置函数 array_sum() 函数返回数组中所有值的总和,只能返回一维数组的总和: 计算多维数组所有值的和就要自定义函数了: function get_sum($array) { $num = 0; foreach($array as $k => $v) { if(is_array($v)) { $num += get_sum($v); } } return $num + array_sum

  • PHP编程计算文件或数组中单词出现频率的方法

    本文实例讲述了PHP编程计算文件或数组中单词出现频率的方法.分享给大家供大家参考,具体如下: 如果是小文件,可以一次性读入到数组中,使用方便的数组计数函数进行词频统计(假设文件中内容都是空格隔开的单词): <?php $str = file_get_contents("/path/to/file.txt"); //get string from file preg_match_all("/\b(\w+[-]\w+)|(\w+)\b/",$str,$r); //

  • python中如何进行连乘计算

    1.Python中连乘的代码: sum = 1; n = int(input("Please input number n:")) for i in range(1,n+1): sum = sum*i; if i<n: print(i,end='') print("*",end = '') print(i,"=",sum) 2.运行结果 实例扩展: python 连乘 递归 参数可以是多个可迭代对象 from functools impor

  • 详细分析sqlserver中的小数类型(float和decimal)

    在SQL Server中实际上只有两种小数数值类型,分别是float(近似数值)和decimal(精确数值),这两种类型能表示所有的小数数值类型. float(近似数值类型) float表示的是近似数值,存在一定的精度缺失. float(n) 这里的n是以科学计数法存储浮点数尾数的位数,因此此参数决定了精度和存储的大小.其是可选的,默认值是53,即float等价于float(53),占用8bytes.如果指定了n,则它必须是介于1至53之间的值.实际上,虽然n的取值范围定义是1至53,但实际上f

  • Javascript计算二维数组重复值示例代码

    前言 最近工作中遇到了一个问题,需求是利用Javascript计算二维数组重复值,如下面有个二维数组 [[\'error\',3],[\'error\',5],[\'error\',6],[\'true\',3],[\'true\',1]] 需要统计计算重复项 \'error\' 和 \'true\', 统计计算之后的结果: [[\'error\',14],[\'true\',4]] 实现代码: var arr = [[\'error\',3],[\'error\',5],[\'error\',

  • php中的数组操作函数整理

    Array([key =>] value, [key =>] value, [key =>] value, [key =>] value) // key 可以是 integer 或者 string // value 可以是任何值 array_change_key_case -- 返回字符串键名全为小写或大写的数组 array_chunk -- 将一个数组分割成多个 array_combine -- 创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值 array_coun

  • JS计算两个数组的交集、差集、并集、补集(多种实现方式)

    方法一:最普遍的做法 使用 ES5 语法来实现虽然会麻烦些,但兼容性最好,不用考虑浏览器 JavaScript 版本.也不用引入其他第三方库. 1,直接使用 filter.concat 来计算 var a = [1,2,3,4,5] var b = [2,4,6,8,10] //交集 var c = a.filter(function(v){ return b.indexOf(v) > -1 }) //差集 var d = a.filter(function(v){ return b.index

随机推荐