像这样的代码怎么样简化一下呢,谢谢
if($maxvalue>10){
$bilv=10;
}
if($maxvalue>100){
$bilv=100;
}
if($maxvalue>1000){
$bilv=1000;
}
if($maxvalue>10000){
$bilv=10000;
}
if($maxvalue>100000){
$bilv=100000;
}

解决方案 »

  1.   

    $bilv=1;
    while ($maxvalue < 10) {
        $bilv = $bilv * 10;
    }
    System.out.println($bilv);
      

  2.   

    失误
    $bilv=1;
    while ($maxvalue < 10) {
        $bilv = $bilv * 10;
        $maxvalue = $maxvalue / 10; //上面遗漏这里了
    }
    System.out.println($bilv);
      

  3.   

    從正面如果圍繞位數突破digits = getDigitsOf($maxvalue - 1);if(digits >= 6)
        $bilv = (int)Math.pow(10, 6);
    else if(digits >= 2)
        $bilv = (int)Math.pow(10, digits);
      

  4.   

    还是失误,不是while ($maxvalue < 10),是while (! $maxvalue < 10) 太粗心了