public string xxx(string num)
{
if(num.IndexOf(".")>0)
{
int x=num.Remove(0,num.IndexOf(".")+1).Length;
switch(x.ToString())
{
case "0":
num=num+"00";break;
case "1":
num=num+"0";break;
case "":break; }
}
if(num.IndexOf(".")<=0)
{
num=num+".00";
}
}

解决方案 »

  1.   

    public string xxx(string num)
    {
    if(num.IndexOf(".")>0)
    {
    int x=num.Remove(0,num.IndexOf(".")+1).Length;
    switch(x.ToString())
    {
    case "0":
    num=num+"00";break;
    case "1":
    num=num+"0";break;
    case "2":break;
    case "":break; }
    }
    if(num.IndexOf(".")<=0)
    {
    num=num+".00";
    }
                               return num;
    }
      

  2.   

    int i = 你的值;
    i.ToString("N2")
    就可以了,不要那么麻烦啊
      

  3.   

    我再给一个简单方便,更好理解的:
    public string XXX(string num)
    {
        double d = double.Parse(num);
        string ret;
        if(Math.IEEERemainder(d, 0.01) == 0)
        {
            ret = d.ToString("0.00");
        }
        else
        {
            ret = d.ToString();
        }
        return ret;
    }
      

  4.   

    写成这样最好:
    public string XXX(string num)
    {
        double d = double.Parse(num);
        return Math.IEEERemainder(d, 0.01) == 0 ?
               d.ToString("0.00") :
               d.ToString();
    }
      

  5.   

    sequelbo(那一剑的风情):
      你的代码中的case "":break;应该改成default:break;   对吧?
      

  6.   

    我也是一新手,你看看:
    public static string FormatNumber(float f)
    {
    string s = f.ToString();
    if (s.IndexOf(".")>0 &&(s.Length-s.IndexOf("."))>2)
    return s;
    else
      return f.ToString("N2");
    } public static string FormatNumber(string s)
    {
    if (s.IndexOf(".")>0)
    {
    Console.WriteLine("s.Length={0},s.IndexOf={1}",s.Length,s.IndexOf("."));
    if (s.Length-s.IndexOf(".")>2)
        return s;
    else
    return s += new string('0',2-(s.Length-s.IndexOf(".")-1));
    }
    else
    return s += ".00";
    }