根据值 C# 计算百分比

本文关键字:计算 百分比 | 更新日期: 2024-10-31 04:27:05

我正在尝试从文本框估算的值中输出百分比。这是我的代码;

int firstNumber;
double mydouble1 = 0.15;
int myint1 = (int)mydouble1;
int.TryParse(HouseValue.Text, out firstNumber);
int answer;
answer = (firstNumber) * (myint1);
prem1.Text = answer.ToString();

问题是当我运行应用程序并输入要计算的值时,答案是 0。我似乎无法让它显示价值的 0.15% 的正确金额。

根据值 C# 计算百分比

试试这个:将answerint更改为double

int firstNumber;
double mydouble1 = 0.15;
if (int.TryParse(HouseValue.Text, out firstNumber))
{
    double answer = firstNumber * mydouble1;
    prem1.Text = answer.ToString(); // you may want to round/format this
}

问题是将 0.15 转换为 int 使其为 0

(int)0.15 == 0

double类型主要用于科学计算。在处理金钱时,您应该使用decimal,因为小数部分通常不能转换为二进制数(在内部用于存储双精度),而不会损失精度。

    decimal percentage = 0.15m;
    int houseValue;
    if (Int32.TryParse(HouseValue.Text, out houseValue)) {
        decimal result = Math.Round(percentage * houseValue);
        prem1.Text = result.ToString();
    } else {
        prem1.Text = "Please enter valid house value!";
    }

firstNumbermyint1mydouble1都是可怕的名字。使用说话的名字!

除了将字符串转换为 int 时的错误处理外,使用以下代码:

double mydouble1 = 0.15;
double percentage = int.Parse(ouseValue.Text) * mydouble1;