C#保留⼩数位数的⽅法
Ø前⾔
本⽂主要介绍 C# 中实现⼩数位数的保留,完成对⼩数位数四舍五⼊的⼏种⽅法。
1.使⽤ Math.Round() ⽅法
说明:
1)其实使⽤ Math.Round() ⽅法,是根据国际标准(五舍六⼊)的⽅式进⾏取舍的。
2)进1的情况有两种:1)保留⼩数位后⾯第1位⼤于等于6;2)保留⼩数位后⾯第1位等于5,则第2位必须⼤于0。
double double1_1 = Math.Round(1.545, 0); //2.0trunc函数怎么切除小数点后几位
double double1_2 = Math.Round(1.545, 1); //1.5
double double1_3 = Math.Round(1.545, 2); //1.54
double double1_4 = Math.Round(1.5451, 2); //1.55
double double1_5 = Math.Round(1.546, 2); //1.55
2.使⽤ Decimal.Round() ⽅法
说明:⼩数取舍与 Math.Round() ⽅法相同。
decimal decimal2_1 = decimal.Round(1.545m, 0); //2M
decimal decimal2_2 = decimal.Round(1.545m, 1); //1.5M
decimal decimal2_3 = decimal.Round(1.545m, 2); //1.54M
decimal decimal2_4 = decimal.Round(1.5451m, 2); //1.55M
decimal decimal2_5 = decimal.Round(1.546m, 2); //1.55M
3.使⽤ ToString() + NumberFormatInfo
说明:标准的四舍五⼊法,更适合中国⼈的习惯哦。
NumberFormatInfo nfi3_1 = new NumberFormatInfo();
nfi3_1.NumberDecimalDigits = 0;
string str3_1 = 1.545d.ToString("N", nfi3_1); //"2"
nfi3_1.NumberDecimalDigits = 1;
string str3_2 = 1.545d.ToString("N", nfi3_1); //"1.5"
nfi3_1.NumberDecimalDigits = 2;
string str3_3 = 1.545d.ToString("N", nfi3_1); //"1.55"
nfi3_1.NumberDecimalDigits = 2;
string str3_4 = 1.5451d.ToString("N", nfi3_1); //"1.55"
nfi3_1.NumberDecimalDigits = 2;
string str3_5 = 1.546d.ToString("N", nfi3_1); //"1.55"
4.使⽤ ToString() + 格式化字符
说明:标准的四舍五⼊法,更适合中国⼈的习惯哦。
string str4_1_1 = 1.545d.ToString("N0"); //"2"
string str4_1_2 = 1.545d.ToString("N1"); //"1.5"
string str4_1_3 = 1.545d.ToString("N2"); //"1.55"
string str4_1_4 = 1.5451d.ToString("N2"); //"1.55"
string str4_1_5 = 1.546d.ToString("N2"); //"1.55"
//ToString() 的简单⽅法
string str4_2_6 = 1.545d.ToString("0"); //"2"
string str4_2_7 = 1.545d.ToString("0.0"); //"1.5"
string str4_2_8 = 1.545d.ToString("0.00"); //"1.55"
string str4_2_9 = 1.5451d.ToString("0.00"); //"1.55"
string str4_2_10 = 1.546d.ToString("0.00"); //"1.55"
5.使⽤ String.Format() ⽅法
说明:标准的四舍五⼊法,更适合中国⼈的习惯哦。
string str5_1 = string.Format("{0:N0}", 1.545d); //"2"
string str5_2 = string.Format("{0:N1}", 1.545d); //"1.5"
string str5_3 = string.Format("{0:N2}", 1.545d); //"1.55"
string str5_4 = string.Format("{0:N2}", 1.5451d); //"1.55"
string str5_5 = string.Format("{0:N2}", 1.546d); //"1.55"
6.将数字转为“%”百分号字符串
string str6_1 = 0.545d.ToString("P", new NumberFormatInfo
{
PercentDecimalDigits = 2, //转换后⼩数保留的位数,默认为2
PercentPositivePattern = 1 //%号出现的位置:1 数字后⾯,2 数字前⾯,默认为0
}); //"54.50%"
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论