C#格式化输出和数值舍入

Posted 除了心跳都忘掉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#格式化输出和数值舍入相关的知识,希望对你有一定的参考价值。

C#

格式化输出

使用C#格式化字符串
String.Format和WriteLine都遵守同样的格式化规则:" N [,M] [:formatString]", arg1, … argN,在这个格式中:

  1. N是从零开始的整数,表示要格式化的参数。argN表示要格式化的表达式,和N是对应的。
  2. M是一个可选的整数,表示格式化后的参数所占的宽度。如果M为负数,那么格式化后的参数是左对齐的;如果M为正数,那么格式化后的参数是右对齐的。
  3. formatString决定了如何格式化数据,比如指定小数精度,科学计数法或者16进制。

注意括号和其中的格式串之间不能有空格,否则无法格式化。

string s1 = string.Format("0:f4   1:f4", 1.1, 2.2);
//1.1000   2.2000
//      ___
//      3个空格

string s2 = string.Format("0,21,16:f32,16:f3", "1", 1111.1, 2222.2);
// 1        1111.111        2222.222
//_ ________        ________
//1 8个空格          8个空格

goto语句

1.跳出嵌套循环

for(int i=0;i<10;i++)

     for(int j=0;j<10;j++)
     
     	……
        if (条件满足)        
            goto Finish;
     

Finish: ……

变量转换

字符与整数(ASCII)之间的转换

char a = '0';
int b = (int)a;
//b = 48
int a = 48;
char b = (char)a;
//b = '0'

数值舍入

Note:
Convert.ToInt16()对浮点数的转化结果为四舍五入取整值(相当于Math.Round(),不同的是后者返回浮点数)

int a=Convert.ToInt16(1.5);
Console.WriteLine(a);

结果为:
2
(int)为截断取整数部分,(相当于Math.Floor(),不同的是后者返回浮点数)

int a=(int)(1.5);
Console.WriteLine(a);

结果为:
1
几种舍入方法

函数含义(都返回浮点数)
Math.Round()四舍五入
Math.Floor()向负无穷取整
Math.Ceiling()向正无穷取整

以上是关于C#格式化输出和数值舍入的主要内容,如果未能解决你的问题,请参考以下文章

java BigDecimal八种舍入模式

用C语言:十进制数n(正数)转换成Base(2<=Base<=36)进制

如何在水晶报表中舍入小数值

Java中BigDecimal的8种舍入模式是怎样的

带负参数的 Math.Round

C#格式化字符串