我有这样的一个float形的数据:0.121256
我要怎么才能让它只保留两位小数啊??

解决方案 »

  1.   

    public static string CommaSeparatedValues(string sourceText, int numberPoint, int decimalPoint)
    {
    string retValue = "";
    double d; if ( decimalPoint < 0 )
    {
    retValue = "0";
    }
    else
    {
    //Check Number
    if ( Double.TryParse(sourceText, System.Globalization.NumberStyles.Any, System.Globalization.NumberFormatInfo.InvariantInfo, out d) )
    {
    retValue = String.Format("{0:n" + decimalPoint.ToString() + "}", d);

    //Check Value About decimalPoint
    string checkValue = retValue.Replace(",", ""); if ( decimalPoint > 0 )
    {
    if ( checkValue.IndexOf('.') > numberPoint )
    {
    retValue = String.Format("{0:n" + decimalPoint.ToString() + "}", 0);
    }
    }
    else
    {
    if ( checkValue.Length > numberPoint )
    {
    retValue = String.Format("{0:n" + decimalPoint.ToString() + "}", 0);
    }
    }
    }
    else
    {
    retValue = String.Format("{0:n" + decimalPoint.ToString() + "}", 0);
    }
    } //Result
    return retValue;
    }
      

  2.   

    告诉你一个简单的方法好了
    把那个float*100
    再把它转成int型
    再把int/100保存到float中就可以了这个方法是自己想的也许不是很好
      

  3.   

    回复人: laoye_key(laoye) ( ) 信誉:100  2005-08-04 17:22:00  得分: 0  
     
     
       晕啊这个是不定的啊??这是个变量啊!要是为100你还*100岂不玩完??
      
     
    =========================================
    我当然知道是不定的
    你用一个变量fValue*100为iValue = int.P***(fValue*100)//具体的方法名忘了,你打了会有提示的
    再用fValue1 = iValue/100;
    这样只是通过int的特性来把小数2位以后的去掉啊
    如果是100的话
    100*100=10000
    再除以100不还是100吗?
    有什么不对?