下表阐释了通过给特定数据类型和值应用某些自定义数字格式字符串来创建的输出。输出是通过使用 ToString 方法和美国英语 (en-US) 区域性生成的。
“格式字符串”列指示格式字符串,“数据类型”列指示所用的数据类型,“值”列指示被格式化的数字的值,“输出”列指示格式化的结果。
格式字符串 | 数据类型 | 值 | 输出 |
---|---|---|---|
##### |
Double |
123 |
123 |
00000 |
Double |
123 |
00123 |
(###) ### - #### |
Double |
1234567890 |
(123) 456 – 7890 |
#.## |
Double |
1.2 |
1.2 |
0.00 |
Double |
1.2 |
1.20 |
00.00 |
Double |
1.2 |
01.20 |
#,# |
Double |
1234567890 |
1,234,567,890 |
#,, |
Double |
1234567890 |
1235 |
#,,, |
Double |
1234567890 |
1 |
#,##0,, |
Double |
1234567890 |
1,235 |
#0.##% |
Double |
0.086 |
8.6% |
0.###E+0 |
Double |
86000 |
8.6E+4 |
0.###E+000 |
Double |
86000 |
8.6E+004 |
0.###E-000 |
Double |
86000 |
8.6E004 |
[##-##-##] |
Double |
123456 |
[12-34-56] |
##;(##) |
Double |
1234 |
1234 |
##;(##) |
Double |
-1234 |
(1234) |
例:值: 格式: 结果
1.2 f2 1.20
1.2 0.00 1.20
0.90 0.## 0.9
/// <summary>
/// 当iVal为小数时,
/// Convert.ToInt32:当小数点左边为奇数,小数点左边为5,进一位
/// 当小数点左边为偶数,小数点左边为5,不进位
/// 需要将小数转换成对应的类型调用ToString("0.")将小数位四舍五入,再转换成Int32类型
/// </summary>
/// <param name="iVal"></param>
/// <param name="replaceVal"></param>
/// <returns></returns>
public static Int32 Object2Int32(object iVal, int replaceVal)
{
if (iVal == null)
{
return replaceVal;
}
try
{
if (iVal is Single)
{
return Convert.ToInt32(Convert.ToSingle(iVal).ToString("0."));
}
if (iVal is Decimal)
{
return Convert.ToInt32(Convert.ToDecimal(iVal).ToString("0."));
}
return Convert.ToInt32(iVal);
}
catch
{
return replaceVal;
}
}