带小数位的 C# 百分比(例如 30.2% 或 .05%)

Percent C# with decimal places (ex 30.2% or .05%)

我尝试通过进行一些数学运算然后将其转换,让我的工具将一个字段显示为 %。

这是我的代码,我想做的就是这些。

如果结果是一个持平的 % 则显示持平 % 示例计算结果为 3% 则显示 3% 否则如果它是小数则显示 3.1% 并且如果该值则显示 1小于 1%,例如 .5 或 .05。

代码的一些背景知识。值 tbOptionlvl5 的值将超过 10,000。 10,000 是 100%,所以这个例子可能是 510。

    if (Item_Is_Rare() && int.Parse(TbOptionID5.Text) >= 0)
    {
        lblProb5.Text = "";
        decimal result = ((int.Parse(TbOptionLvl5.Text) * 100) / 10000);
        lblProb5.Text = Convert.ToString(result) + "%";
    }

这是我调用函数的代码

if (TbOptionID10.Text == "-1")
        lblProb10.Text = "";
        if (TbOptionID10.Text != "-1" && TbOptionID10.Text != "")
        {
            if (int.Parse(TbOptionID10.Text) > 10000)
                TbOptionID10.Text = Convert.ToString(10000);
            Update_Probability_Text();
        }
StringBuilder builder = new StringBuilder(result.ToString("##.##"));
            builder.Append(" %");
            lblProb5.Text = builder.ToString();

在数学运算中使用小数说明符。

decimal result = (tbText.text * 100) /10000

固定如下

 decimal result = (tbText.text * 100) /10000m