将123.12(可能没有小数,整数位小数位数不固定)
转换成  0012312000   整数位小数位都补0 假设补0个数都为n (小数点被去掉了 相当于 00123、12000加在一起 )实现要求任何方法都可以 但要一行代码实现

解决方案 »

  1.   


    void Main()
    {
    string str="123.12";
    Console.WriteLine(str.Split('.').First().PadLeft(5,'0')+str.Split('.').Last().PadRight(5,'0'));
    }
      

  2.   

    一行咱整不了var s = "123.12";
    var s = "" + eval("function fun(){var ss='';for(i=0;i<5-s.split('.')[0].length;i++){ss+='0';}return ss;}fun();") + s.split(".")[0] + s.split(".")[1] + eval("function fun(){var ss='';for(i=0;i<5-s.split('.')[1].length;i++){ss+='0';}return ss;}fun();")
    alert(s);
      

  3.   


    不带用循环的,,,
    内个兔子党  用js或者JAVA吧...
      

  4.   

    那用php也行?
    array_shift(array_map(create_function('$v', 'return str_pad($v, 5, "0", STR_PAD_LEFT);'), explode('.', $s))) . array_pop(array_map(create_function('$v', 'return str_pad($v, 5, "0", STR_PAD_RIGHT);'), explode('.', $s)))
      

  5.   

    我写了这么一坨
    <html>
    <head runat="server">
      <title>Untitled Page</title>
      <script type="text/javascript">
    function test(){
    var X = 13;
    var Y = 5;var ary ="123456.123".split(".");
    ary[0] = new Array(X+1).join("0") + ary[0]
    var str = ary[0].substring(ary[0].length -X ,ary[0].length)+ ((ary[1]==null?"":ary[1] ) + new Array(Y+1).join("0")).substring(0,Y);
    alert(str)
       
    }
       
      </script>
    </head>
    <body onload="test()"></body>
    </html>
      

  6.   

    var x = 5, y = 6;
    var s = "132.12"; 
    s = s.replace(/(\d+)\.(\d+)/,"000000000000000000000000000000".substr(0,x-"$1".length)+"$1"+"."+"$2"+"000000000000000000000000000000000000000".substr(0,y-"$2".length));
    alert(s);
    这个算不算一句....
      

  7.   

    呵呵算  看来还是有希望的~~我稍改一下如下  但是没考虑没有小数的时候  比如  s="666"
    还是先说一下$1  $2这个怎么用~~  这个关键哈~~
    var x = 5, y = 6;
    var s = "666.69"; 
    s = s.replace(/^(\d+)\.(\d+)?$/,new Array(x+y+1).join("0").substr(0,x-"$1".length)+"$1"+"$2"+new Array(x+y+1).join("0").substr(0,y-"$2".length));
      

  8.   


    还有两种情况不好使
    var s = "888888666.698888888"; 
    var s = "666";不过有子匹配应该能实现了  感谢你的提点