如何将文本格式化为######.##

Gol*_*old 1 .net c#

如何将文本限制为6个数字.2个号码?

(###### ##)

提前致谢

Jam*_*ran 8

 // without leading zeros
string formatted = String.Format("{0:######.##}", value);

// with leading zeros
string formatted = String.Format("{0:000000.00}", value);
Run Code Online (Sandbox Code Playgroud)


Guf*_*ffa 6

您可以使用String.Format方法或ToString方法:

double value = 123.456;
string formatted1 = String.Format(CultureInfo.InvariantCulture, "{0:######.##}", value);
string formatted2 = value.ToString("######.##", CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

如果您#在格式化字符串中使用,那么如果没有有效数字,那些将填充空格.例如,123.456使用格式化"######.##"将是" 123.46".

如果你0在格式化字符串中使用,那些将填充零,那里没有有效数字.例如,123.456使用格式化"000000.00"将是"000123.46".

您可以组合#0获得不同的结果.例如,您可能需要小数分隔符之前的空格,但始终至少需要一位数:"#####0.00".

句点字符用于指定小数分隔符.这是一些文化设置的时间段和其他的逗号.您始终在格式字符串中使用句点,但输出取决于区域性设置.如果您总是想在输出中使用句号,则可以使用该CultureInfo.InvariantCulture文化.

如果您不希望对数字进行舍入,则必须在格式化之前将其截断:

double value = 123.456;
value = Math.Truncate(value * 100.0) / 100.0;
Run Code Online (Sandbox Code Playgroud)