根据值 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% 的正确金额。
试试这个:将answer
从int
更改为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!";
}
firstNumber
、myint1
和mydouble1
都是可怕的名字。使用说话的名字!
除了将字符串转换为 int 时的错误处理外,使用以下代码:
double mydouble1 = 0.15;
double percentage = int.Parse(ouseValue.Text) * mydouble1;