什么是确定从格式字符串小数位数的好办法?(What would be a good way of d

2019-09-29 18:51发布

我想,看起来像这样的功能:

int GetDecimalPlaces(string format, IFormatProvider formatProvider = null);

投入将是完全一样的,可以合法地传递给负责格式化数字,例如,方法double.ToStringdecimal.ToString

输出将是一个int指示最低数量由格式字符串所需的小数位。

因此,这里有几个例子输入/输出我希望(让我们只说离开formatProvidernull在目前的培养结果被使用):

Input | Output
------|-------
N2    | 2
0     | 0
0.000 | 3
g     | 0
0.0## | 1

如果可能的话,我想这样做“正确”的方式; 即没有黑客。 但是,如果黑客必须这样,我还希望好的黑客的建议;)

Answer 1:

也许最简单的方法是取整数,如1,并格式化,然后解析字符串来算小数位的数量。 我想这有资格作为一个黑客,但它应该工作非常可靠。



Answer 2:

为什么不转换为字符串,然后搜索分隔符的位置。 减去从字符串的长度此值。 同样可能一劈,但???



文章来源: What would be a good way of determining number of decimal places from a format string?