获取十进制变量中的位数

时间:2016-11-25 21:52:31

标签: c# .net

我在visual studio 2015中创建了一个winform程序来计算Pi,但是我在尝试获取逻辑数字时遇到了麻烦。

我需要这样做:

public decimal pi = 3.15195647857832565; //random decimals
txtDigits.Text = //number of digits in pi variable and get rid of trailing decimal points

2 个答案:

答案 0 :(得分:-2)

如果您需要获取逻辑数字的数量,IE会删除尾随零,我建议您使用此处接受的方法:

Find number of decimal places in decimal value regardless of culture

decimal argument = 123.456m;
int digitCount = BitConverter.GetBytes(decimal.GetBits(argument)[3])[2];

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

答案 1 :(得分:-2)

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

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