我想在一个数字的千位上加一个逗号。
String.Format()是正确的路径吗?我应该使用什么格式?
我想在一个数字的千位上加一个逗号。
String.Format()是正确的路径吗?我应该使用什么格式?
当前回答
更简单,使用字符串插值代替字符串。格式
$"{12456:n0}"; // 12,456
$"{12456:n2}"; // 12,456.00
或者使用yourVariable
double yourVariable = 12456.0;
$"{yourVariable:n0}";
$"{yourVariable:n2}";
其他回答
例如String。格式(“{0时0}",1);返回01,对我来说无效
这对我很有用
19950000.ToString("#,#", CultureInfo.InvariantCulture));
输出 19950000年
我尝试了上面的许多建议,但下面的建议更适合我:
string.Format("{0:##,###.00}", myValue)
但是当你有像0.2014这样的值时,它会失败,因为我使用。21
string.Format("{0:#,##0.00}", myValue)
int number = 1000000000;
string whatYouWant = number.ToString("#,##0");
//You get: 1,000,000,000
c# 7.1(也许更早?)通过字符串插值使这变得简单而美观:
var jackpot = 1_000_000; // underscore separators in numeric literals also available since C# 7.0
var niceNumberString = $"Jackpot is {jackpot:n}";
var niceMoneyString = $"Jackpot is {jackpot:C}";
这是最好的格式。适用于所有这些情况:
String.Format( "{0:#,##0.##}", 0 ); // 0
String.Format( "{0:#,##0.##}", 0.5 ); // 0.5 - some of the formats above fail here.
String.Format( "{0:#,##0.##}", 12314 ); // 12,314
String.Format( "{0:#,##0.##}", 12314.23123 ); // 12,314.23
String.Format( "{0:#,##0.##}", 12314.2 ); // 12,314.2
String.Format( "{0:#,##0.##}", 1231412314.2 ); // 1,231,412,314.2