小数点后只需要2位

本文关键字:2位 小数点 | 更新日期: 2023-09-27 18:02:48

我希望我的函数返回值只有2位小数。我尝试了以下代码:

private static double CalculateSlabTax(int nSlabStartTaxable, 
                                       int nSlabEndTaxable, 
                                       float fSlabRate)
{
    double dblSlabResult = 0;
    try
    {
        dblSlabResult = (nSlabStartTaxable - nSlabEndTaxable) * fSlabRate;
        dblSlabResult = Math.Round(dblSlabResult , 2);
        return dblSlabResult;
    }
    catch (Exception)
    {
        return -1;
    }
}

期望输出为:dblSlabResult = ####.## - 两位数字(例如;1002.05)

得到如下输出:dblSlabResult = 1002.1

小数点后只需要2位

非常简单。试试这个

public double UptoTwoDecimalPoints(double num)
{
    var totalCost = Convert.ToDouble(String.Format("{0:0.00}", num));
    return totalCost;
}

表示使用格式。在您的情况下,小数点后的两个数字表示"F2"格式字符串

 double source = 1234.56789;
 // 1234.57
 var result = source.ToString("F2");  

#字符是可选的数字占位符。使用0在转换为字符串时强制使用数字:

string.Format("{0:#.##}", 1002.1) == "1002.1"
string.Format("{0:0.00}", 1002.1) == "1002.10"

当四舍五入floatdouble时,不要期望得到特定的数字计数。它们只是数字,与字符串格式无关。

您使用的是什么输入?数学。Round应该可以正常工作,这表明上面这行返回的是一个只有1个有效数字的double。