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

问题描述

我试图通过做一些数学运算然后将其转换来使工具将字段显示为%。

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

如果结果是单位百分比的值,则显示单位百分比的示例计算结果为3%,然后显示3%,否则,如果是小数则显示3.1%,如果值变小则为1大于1%,例如0.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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...