我想要一个看起来像这样的函数:
int GetDecimalPlaces(string format, IFormatProvider formatProvider = null);
输入与可以合法传递给负责格式化数字的方法的输入完全相同,例如double.ToString
,decimal.ToString
。
输出为int
,表示格式字符串所需的最小小数位数。
所以这里有一些我期望的输入/输出示例(我们只是说formatProvider
将null
作为当前正在使用的文化中的结果}:
Input | Output ------|------- N2 | 2 0 | 0 0.000 | 3 g | 0 0.0## | 1
如果可能的话,我想以“正确”的方式做到这一点;即没有黑客攻击。但如果我必须破解,我也会感谢好的黑客建议;)
答案 0 :(得分:1)
可能最简单的方法是取一个整数,如1,然后格式化,然后解析字符串以计算小数位数。我想这可以作为一个黑客,但它应该可靠地工作。
答案 1 :(得分:0)
为什么不转换为字符串,然后搜索分隔符字符位置。从字符串的长度中减去此值。 再次可能是一个黑客但是???