不知道如何实现这个任务:
我需要像这个一样格式化一个十进制
var formatted = String.Format("{0:G}%", numberOfDecimalType);
因此,结果应该是数字格式的数字,后面有%符号。问题是我需要使用.ToString()
方法来获得这个结果。我试过numberOfDecimalType.ToString("G%")
和其他不同的变体,但对没有帮助
有可能吗?
您可以使用自定义数字格式字符串添加文字字符:
var formatted = numberOfDecimalType.ToString(@"#,##0.##%");
反斜杠确保%
被视为文字字符,而不是特殊的格式化指令。
不过,请注意,这不是G
的精确替换,即,您可能需要调整#
的数量以适应所需的小数位数。
您将无法使用单个ToString
调用将"%"追加到末尾;您需要使用ToString
格式化小数,然后单独附加百分号:
var formatted = numberOfDecimalType.ToString("G") + "%";
您可以简单地附加百分比,不是吗?
formatted = numberOfDecimalType.ToString("G") + "%";