C#怎么把1250变成1300用函数1250不是一个固定的值,可能是要把1333333000变成1400000000
          520变成550    
          520变成600 

解决方案 »

  1.   

     哦  用函数变 
      随便一个例子说  
     double  a=  double.parse(1);
      

  2.   

    有点类似于四舍五入一类的东西,思路可以这么走,就是先 / 10^N,N要看整数的长度。
    然后进位,再* 10^N10 ^ N表示 10的N次幂。
      

  3.   

       
       int a=66;
       int b=函数(a,函数的长度);
        结果 b 就等于70  了 
      

  4.   

      healer_kx 大哥说的是四舍五入了, 您的意思是除一下 干掉小数,再乘吧
        可我想要大于我原来的那个数字,64 我要70 或者 65
      

  5.   

    vrhero  大哥 我要的误差不一定这么大啊 1333333333 我可能要1333400000
      

  6.   

    int i=1250;
    if(i==1250)
    {
       i=1300;
    }
      

  7.   

    晕 没看懂
    我估计LZ想要的是 :当前给定的数值A,然后从自己想要的集合{b1,b2,b3,b4,b5....}中,选个与A最接近的数?
    这样的话 很简单的。。
      

  8.   

    我用Firefox现在不用一直登陆了
      

  9.   

     private int fun(int a, int len)
            {
                double b = a / (Math.Pow(10,len-1));
                int n = (int)(Math.Ceiling(b) * (Math.Pow(10, len-1)));
                return n;
            }//测试
    Console.WriteLine(fun(66,2)); 
    Console.WriteLine(func(1250,3));
    输出结果:
    70
    1300
      

  10.   

    修改一下代码//len参数表示a从右往左数开始进1的长度,如(67,1)表示个位7进1等于70,(1250,2)表示十位5进1等于1300)
    private int fun(int a, int len)
            {
                double b = a / (Math.Pow(10,len));
                int n = (int)(Math.Ceiling(b) * (Math.Pow(10, len)));
                return n;
            }//测试
    Console.WriteLine(fun(66,1)); 
    Console.WriteLine(func(1250,2));输出结果:
    70
    1300
      

  11.   

    1333333000变成1400000000fun(1333333000,9);
      

  12.   

    呵呵,楼主很厉害.问题描述超级不清楚啊.数字处理,基本是  按位处理.对应位上的操作. (数字/10 操作)
    至于你说的哪个神奇的520 =600 =550 的问题,估计你想要用Random()来处理逻辑吧.(每次可以具体控制范围)
    其他的就是写下,就完了.