ToString的使用
1.默认格式
不提供任何格式化字符串时,ToString()
方法将使用默认格式,将数字转换为具有两位小数的字符串表示形式。
例如:
double number = 123.456;
string formattedString = number.ToString(); // 输出 "123.45"
2.货币格式
使用ToString("C")
或ToString("c")
可以将数字转换为货币格式的字符串表示形式。
例如:
double number =123456.78.;
string formattedString = number.ToString("C")); // 输出 "123,456.78"
3.指数格式
使用ToString("E")
或ToString("e")
可以将数字转换为科学记数法的字符串表示形式。
例如:
double number =123456789;
string formattedString = number.ToString("E")); // 输出 "1.23457e+008"
4.固定点格式
使用ToString("F")
或ToString("f")
可以将数字转换为具有固定小数位数的字符串表示形式。
例如:
double number =123.456;
string formattedString = number.ToString("F")); // 输出 "123.456"
5.十六进制格式
使用ToString("X")
或ToString("x")
可以将数字转换为十六进制格式的字符串表示形式。
例如:
double number =255;
string formattedString = number.ToString("X")); // 输出 "FF"
6.百分数格式
使用ToString("P")
或ToString("p")
可以将数字转换为百分数格式的字符串表示形式。
例如:
double number =0.123;
string formattedString = number.ToString("P")); // 输出 "12.30%"
7.千分位分隔格式
使用ToString("N")
或ToString("n")
可以将数字转换为带有千分位分隔符和两位小数的字符串表示形式。
例如:
double number =1234567.89;
string formattedString = number.ToString("N")); // 输出 "1,234,567.89"
8.日期时间格式
使用特定的日期时间格式字符串可以将DateTime
对象转换为具有特定格式的字符串显示日期和时间。
(1)默认格式
string defaultFormat = DateTime.Now.ToString();
// 输出类似于 "2023-07-19 14:30:00" 的日期和时间
(2)短日期格式
string shortDate = DateTime.Now.ToString("d");
// 输出类似于 "2023-07-19" 的短日期
(3)长日期格式
string longDate = DateTime.Now.ToString("D");
// 输出类似于 "Sunday, July 19, 2023" 的长日期
(4)短时间格式
string shortTime = DateTime.Now.ToString("t");
// 输出类似于 "14:30" 的短时间
(5)长时间格式
string longTime = DateTime.Now.ToString("T");
// 输出类似于 "14:30:00" 的长时间
(6)自定义日期格式
string customDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
// 输出类似于 "2023-07-19 14:30:00" 的自定义日期格式
(7)自定义时间格式
string customTime = DateTime.Now.ToString("HH:mm:ss");
// 输出类似于 "14:30:00" 的自定义时间格式
(8)使用时区信息
string timeWithTimeZone = DateTime.Now.ToString("zzz");
// 输出类似于 "+2:00" 的时区偏移量,例如 "UTC+2" 或 "-7:00" 等。
(9)使用短时区名称
string shortTimeZone = DateTime.Now.ToString("z");
// 输出类似于 "Central European Summer Time" 的时区名称。
(10)使用长时区名称
string longTimeZone = DateTime.Now.ToString("Z");
// 输出类似于 "Central European Summer Time" 的长时区名称。
(11)使用自定义日期和时间格式
string customDateTime = DateTime.Now.ToString("yyyy年MM月dd日 HH时mm分ss秒");
// 输出类似于 "2023年07月19日 14时30分00秒" 的自定义日期和时间格式。
9.小数格式
使用ToString("0.##")
可以将数字转换成不固定的小数格式。
0
表示整数部分总是会显示。如果数字没有整数部分,则显示0。
.
表示小数点会显示。## 表示小数部分的小数位数。
##
如果没有小数部分,或者小数位数少于##指定的位数,则只显示小数点。
例如:
double number =123.456;
string formattedString = number.ToString("0.##")); // 输出 "123.456"
number =123.45;
formattedString = number.ToString("0.##")); // 输出 "123.45"
number =123.0;
formattedString = number.ToString("0.##")); // 输出 "123"
示例图:
运行效果图:
10、自定义格式符号:
可以使用诸如#、0、.、,
等符号来自定义数字的格式 。
(1)#
表示可选的数字。如果数字存在则显示,否则不显示。
例如:
double number = 123.456;
string formattedString = number.ToString("###.###"); // 输出 "123.456"
(2)0
表示数字占位符。如果数字存在则显示,否则显示0。
例如:
double number = 123.456;
string formattedString = number.ToString("000.000"); // 输出 "123.456"
(3).
表示小数点。用于指定小数点位置。
例如:
double number = 1234567.89;
string formattedString = number.ToString("0.###"); // 输出 "1234567.89"
(4),
表示千分位分隔符。用于指定千位分隔符的位置。
例如:
double number = 1234567.89;
string formattedString = number.ToString("N0"); // 输出 "1,234,567" (注意,没有小数部分)
( 5)更复杂的格式
也可以组合使用这些符号来定义更复杂的格式
例如:
double number = 1234567.89;
// 输出 "1,234,567.89" (带有千分位分隔符和小数点)
string formattedString = number.ToString("0,000.00");