Далее следует кнопка на форме. Пользователь вводит сумму в долларах в текстовое поле промежуточного итога и нажимает кнопку расчета. Затем вычисляется скидка и отображается общая сумма счета в текстовом поле в нижней части формы. Мы предполагаем использовать метод Parsing для преобразования записи в десятичную, если «$» вводится с промежуточной суммой. Мой вопрос касается успеха типа данных. Теперь это Bool, потому что это 1 или 0.
Когда я пытаюсь создать форму, я получаю эту ошибку:
Ошибка 1. Не удается неявно преобразовать тип «bool» в «decimal».
namespace InvoiceTotal
{
public partial class frmInvoiceTotal : Form
{
public frmInvoiceTotal()
{
InitializeComponent();
}
private void btnCalculate_Click(object sender, EventArgs e)
{
decimal sucess = 0m;
decimal subtotal = Decimal.TryParse(txtSubtotal.Text, out sucess);
decimal discountPercent = .25m;
decimal discountAmount = Math.Round(subtotal * discountPercent,2);
decimal invoiceTotal = Math.Round(subtotal - discountAmount,2);
txtDiscountPercent.Text = discountPercent.ToString("p1");
txtDiscountAmount.Text = discountAmount.ToString(); // ("c");
txtTotal.Text = invoiceTotal.ToString(); // ("c");
txtSubtotal.Focus();
}
Я предполагаю, что я не объявляю правильный тип данных для переменной «успех»? Если кто-то может помочь указать мне в правильном направлении, я был бы очень признателен!
* Ошибка 1 Невозможно неявно преобразовать тип «bool» в «decimal»
Я использую Visual Studio Professional 2012 на компьютере с Windows 8.1.
Decimal.TryParse
возвращаетbool
, а неdecimal
. Вместо этого вам может понадобиться использовать методDecimal.Parse
. Или присвоение логического значения результатуDecimal.TryParse
. В следующий раз внимательно читайте сообщения об ошибках. Они здесь для вас. - person Soner Gönül   schedule 01.06.2014bool
в С# - этоtrue
илиfalse
- не уверен, что вы имели в виду с 1 или 0... - person Alexei Levenkov   schedule 01.06.2014