// 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)
您可以使用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)