C# 格式化输出-数字.ToString

  • C# 格式化输出-数字.ToString
  • C# 格式化输出-DateTime.ToString
  • C# 格式化输出-String.Format

数字 .ToString 有四个重载方法:

ToString()

将数字转换成字符串。

ToString(IFormatProvider)

使用指定的区域性特定格式信息转换为字符串。

n.ToString(System.Globalization.CultureInfo.CurrentCulture)

ToString(String)

使用标准数字格式字符串和自定义数字格式字符串转换为字符串。

我个人比较习惯于自定义数字格式字符串,所以这里举例说明自定义数字格式字符串。

decimal n = 1234567890.567m;
_textbox.Text += "
" + n.ToString(".00"); // 1234567890.57,四舍五入保留两位小数
_textbox.Text += "
" + n.ToString(".0000"); // 1234567890.5670,四舍五入保留四位小数,不足四位补 0
_textbox.Text += "
" + n.ToString(".####"); // 1234567890.567,四舍五入保留四位小数,不足四位就算了
_textbox.Text += "
" + n.ToString("###,###"); // 1,234,567,891,分组,且四舍五入保留零位小数
_textbox.Text += "
" + n.ToString("###,##0"); // 与“###,###”区别是当值为 0 时:“###,###”显示为空,而“###,##0”显示为 0
_textbox.Text += "
" + n.ToString("###,###hello"); // 1,234,567,891hello
_textbox.Text += "
" + n.ToString(".00%"); // 123456789056.70%,使用百分比,保留两位小数,不足两位补 0
_textbox.Text += "
" + n.ToString("正数;负数;零"); // 正数

可以看出:

  • 0 表示零占位符。若对应数字存在,则显示数字;否则显示 0。

  • # 表示数字占位符。若对应数字存在,则显示数字;否则留空。请参见:ToString 中 # 并不“待见”0 。

  • . 表示小数点。小数点左边的数不使用符号会自动显示,小数点右边的数不使用符号,会被当作保留 0 位小数。当然,如果什么符号都不使用,就相当于 ToString() 了,全部数字都显示。

  • , 表示分组。

  • % 表示百分比,会自动乘 100。

  • ; 表示将三个格式字符串分隔开:正数使用第一个格式字符串,负数使用第二个格式字符串,零使用第三个格式字符串。特别注意:小心 C# 数字 ToString 的 “;”部分分隔符。

ToString(String, IFormatProvider)

使用格式字符串和区域性特定格式信息转换为字符串

相关阅读

  • 四舍五入遇 5 往哪靠?-C# ToString 直接往上收

  • C# 格式化输出-数字.ToString
  • C# 格式化输出-DateTime.ToString
  • C# 格式化输出-String.Format

你可能感兴趣的