我必须使用传递给我的代码的各种格式描述符来格式化小数,这些格式描述符指定了小数点左侧的不同有效位数。每个格式描述符的 ToString 输出左侧不能有太多数字,否则我应该返回错误(格式溢出)。
是否有一些 ToString 十进制格式描述符(我找不到任何)或其他十进制到字符串的转换机制,如果小数大于为小数左侧分配的字符串空间,我可以获得异常?我想要类似下面的代码抛出而不是工作。我希望有比我在格式描述符中计数字符更优雅/内置的东西,并找出自己的最大小数是多少,并在尝试转换之前进行比较。谢谢!
static void Main(string[] args)
{
string lFormat = null;
decimal lValue = 123456.5678m;
// For example, I would like something like this to throw because the number would not fit into 3 significant left side digits...
lFormat = "000.00";
Console.WriteLine("Format '{0}' value '{1}'.", lFormat, lValue.ToString(lFormat));
Console.WriteLine("Hit Enter to exit...");
Console.ReadLine();
}