格式化输出
使用C#格式化字符串
String.Format和WriteLine都遵守同样的格式化规则:"{ N [,M] [:formatString]}", arg1, … argN,在这个格式中:
- N是从零开始的整数,表示要格式化的参数。argN表示要格式化的表达式,和N是对应的。
- M是一个可选的整数,表示格式化后的参数所占的宽度。如果M为负数,那么格式化后的参数是左对齐的;如果M为正数,那么格式化后的参数是右对齐的。
- formatString决定了如何格式化数据,比如指定小数精度,科学计数法或者16进制。
注意括号{}和其中的格式串之间不能有空格,否则无法格式化。
string s1 = string.Format("{0:f4} {1:f4}", 1.1, 2.2);
//1.1000 2.2000
// ___
// 3个空格
string s2 = string.Format("{0,2}{1,16:f3}{2,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() | 向正无穷取整 |