一个简单的数字处理

最近做项目遇到一个数算法问题,其实也不是很难,但就是做个笔记吧,记录一下。

需求: 用户填写一个数,填写该数递增的数量,自动生成递增后的所有值,用户填写最小值最多保留俩位小数0.01,最大递增值是10000。递增值的取值范围就是这样了。

         取值时如果末尾数都是0,那么每次递增就取前面的值的位数,如果尾数不为0,那么直接取到该数值当前的位数值,举个例吧,本人语言表达能力不是很好

         例如:0.01,那么该数生成的递增值就为0.01

                  0.1 ,那么该数生成的递增值就为0.1

                  1.00 ,那么该数生成的递增值就为1

                  10.00 ,那么该数生成的递增值就为10

                  100.00 ,那么该数生成的递增值就为100

                  1000.00,那么该数生成的递增值就为1000                

                  10000.00,那么该数生成的递增值就为10000

                  1241 , 那么该随生成的递增值就为1,

                  1241.15,那么该数生成的递增值就为0.01

                  1241.10,那么该数生成的递增值就为0.1

                  1240 ,那么该数生成的递增值就为10

这样能看明白了吧,就取递增值的时候从最后一位往前找,直到找到不为0的那位数为止。

下面说下思路:

首先先判断输入的数有没有小数点,如果有小数点则查看小数点后面的数是不是0,不为0,则说明每次递增的值肯定就是为小数了,直接处理小数部分即可。

如果输入的小数点后面都是0,那么就处理整数部分。

直接上代码了,很简单,估计都能看明白


 

   class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("输入一个数");
                string v = Console.ReadLine();
                //每次递增的数


                string unit = "";

                char[] list = v.ToString().ToArray();
                // 标记最小值是否已经获取,该标记决定其他值用“0”或“.”补齐。
                bool compare = false;

                for (int i = list.Length; i > 0; i--)
                {
                    string sign = list[i - 1].ToString();

                    if (sign != ".")
                    {
                        if (sign != "0" && !compare)
                        {
                            sign = "1";
                            compare = true;
                        }
                        else
                        {
                            sign = "0";
                        }
                    }
                    unit = sign + unit;
                }

                Console.WriteLine("随机数每次递增:  " + Convert.ToDouble(unit));

                Console.WriteLine(">>");

            }

        }
    }

 

本人水平有限,也由于着急弄,就没想过过多的处理方法,有不对的地方请各位大神多多指教

 

 

posted on 2014-06-17 14:00  嘿呀土豆  阅读(241)  评论(0编辑  收藏  举报

导航