C# 使用ToString()可以获得与String.Format相同的结果

C# 使用ToString()可以获得与String.Format相同的结果,c#,formatting,C#,Formatting,无法确定如何执行此任务: 我需要像这样格式化一个小数 var formatted = String.Format("{0:G}%", numberOfDecimalType); 因此,结果应该是带有尾随%符号的数字格式的数字。 问题是我需要使用.ToString()方法获得这个结果。 我尝试了numberOfDecimalType.ToString(“G%”)和其他不同的变体,但都没有用 可能吗 您可以简单地附加百分比,不是吗 formatted = numberOfDecimalType

无法确定如何执行此任务:

我需要像这样格式化一个小数

 var formatted = String.Format("{0:G}%", numberOfDecimalType); 
因此,结果应该是带有尾随%符号的数字格式的数字。 问题是我需要使用
.ToString()
方法获得这个结果。 我尝试了
numberOfDecimalType.ToString(“G%”)和其他不同的变体,但都没有用


可能吗

您可以简单地附加百分比,不是吗

formatted = numberOfDecimalType.ToString("G") + "%";

你可以简单地附加百分比,不是吗

formatted = numberOfDecimalType.ToString("G") + "%";

您将无法使用单个
ToString
调用将“%”附加到末尾;您需要使用
ToString
格式化十进制,然后分别附加百分号:

var formatted = numberOfDecimalType.ToString("G") + "%";

您将无法使用单个
ToString
调用将“%”附加到末尾;您需要使用
ToString
格式化十进制,然后分别附加百分号:

var formatted = numberOfDecimalType.ToString("G") + "%";

可以使用以下命令添加文字字符:

反斜杠确保将
%
视为文字字符,而不是特殊的格式化指令


但是请注意,这并不是对
G
的精确替换,即,您可能需要调整
#
s的数量以适应所需的小数位数。

您可以通过使用:

反斜杠确保将
%
视为文字字符,而不是特殊的格式化指令



但是请注意,这并不是对
G
的精确替换,也就是说,您可能需要调整
#
s的数量,以适应所需的小数位数。

如果您已经知道
String.Format(…),为什么需要使用
.ToString()
返回您想要的内容?这是低级组件的要求。我只能发送一个格式掩码,它随后调用.ToString(formatMask)如果您已经知道
String.format(…)
返回您想要的内容,那么为什么需要使用
.ToString()
。我只能发送一个格式掩码,它随后调用.ToString(formatMask)@KokaChernov:所以您只能为
ToString
提供字符串?或者你能提供一个不同的号码吗?例如:
(0.01m*numberOfDecimalType).ToString(“P”)我只能发送一个格式字符串,它的使用方式类似于.ToString(FormatString)@KokaChernov:所以您只能为
ToString
提供字符串?或者你能提供一个不同的号码吗?例如:
(0.01m*numberOfDecimalType).ToString(“P”)我只能发送一个格式字符串,该格式字符串的用法如下。ToString(FormatString)不确定它是否只返回有效的小数位数结果不正确var number=0.0076m
var formatted=String.Format(“{0:G}%”,number)//0.0076%var otherformatted=number.ToString(@“#,####0.##\%”)//0.01%
@KokaChernov:这就是我所说的“调整
的数量,例如
,#############
,如果你(可能的话)需要很多小数位。我不认为有一个完全等同于
G
的自定义格式字符串。那么我想我需要动态计算有效小数位?可能吗?@KokaChernov:我不这么认为。你能提供有效小数位数目的上限吗?不确定它只返回有效小数位0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%0.0076%结果不正确的var数值结果不正确的var数值结果结果不正确的var数值数值=0.0.0.0.0076结果结果结果不正确的var数值0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.76%结果结果结果结果结果结果结果不正确的var.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.76%var###
,如果您(可能)需要很多小数位。我不认为有一个完全等同于
G
的自定义格式字符串。那么我想我需要动态计算有效的小数位数?有可能吗?@KokaChernov:我不这么认为。能否提供有效小数位数的上限?