2010-11-03 83 views
1

我想要的功能,看起来像这样:从格式字符串中确定小数位数的好方法是什么?

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 

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

回答

1

也许最简单的方法是取整数,如1,并格式化,然后解析字符串以计算小数点数地方。我想这可以作为黑客,但它应该可靠地工作。

0

为什么不转换为字符串,然后搜索分隔符字符的位置。从字符串的长度中减去此值。 再次可能的黑客,但???

相关问题