C# 获取十进制变量中的位数

C# 获取十进制变量中的位数,c#,.net,C#,.net,我正在visual studio 2015中创建一个winform程序来计算Pi,但在尝试获取逻辑位数时遇到了问题 我需要这样做: 公共小数pi=3.15195647857832565//随机小数 Text=//pi变量中的位数,去掉后面的小数点 如果您需要获取逻辑位数,即去掉尾随零,我建议您在此处使用公认的方法: 我在多个项目中使用过这种方法,效果非常好。请注意,这是为了查找尾随小数点的数量,我假设这是您要查找的,但您的问题并不清楚。这将返回所有数字的计数: int i= 0; foreach

我正在visual studio 2015中创建一个winform程序来计算Pi,但在尝试获取逻辑位数时遇到了问题

我需要这样做:

公共小数pi=3.15195647857832565//随机小数 Text=//pi变量中的位数,去掉后面的小数点
如果您需要获取逻辑位数,即去掉尾随零,我建议您在此处使用公认的方法:


我在多个项目中使用过这种方法,效果非常好。请注意,这是为了查找尾随小数点的数量,我假设这是您要查找的,但您的问题并不清楚。

这将返回所有数字的计数:

int i= 0;
foreach (char c in pi.ToString())
{
    if (Char.IsDigit(c))
        {
            i++;
        }
}

你希望有多少个数字,例如,1/3?接缝很好,thanks@user87073十进制参数=1m/3;返回28。为什么不呢?或者为什么不是无限?改进你的问题。。。。并回答我48分钟前发表的评论…@L.B想知道为什么这被否决了吗?惩罚那些试图用高质量的参考资料回答这个问题的人似乎有些奇怪,因为OP并没有明确说明他到底在追求什么。我在这里说,我假设他在寻找尾随的小数。我在这里提供的方法正是这样做的。或者你今天过得不好?
int i= 0;
foreach (char c in pi.ToString())
{
    if (Char.IsDigit(c))
        {
            i++;
        }
}