У меня есть запись, которая собирает число, которое впоследствии используется как двойное число.Все работает нормально, пока один не удалит все числа в записи, чтобы ввести новый.
Я попытался исправить это, выдав новое исключение, как только текст станет нулевым, но он все еще вылетает с
Входная строка была в неправильном формате.(FormatException)
ошибка возникает в moneyOutput.Text = Convert.ToDouble(moneyInput.Text).ToString() + "€";
, вот мой код xaml:
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Bierrechner.Priceentry"
BackgroundColor="#8c1029"
Title="Eingabe">
<ScrollView>
<StackLayout Margin="0,30,0,0" >
<Entry x:Name="moneyInput" TextChanged="MoneyInput_TextChanged" Placeholder="z.B. 34,99" PlaceholderColor="Gray" TextColor="White" Keyboard="Numeric"/>
<Label x:Name="moneyOutput" Margin="0,40,0,0" HorizontalTextAlignment="Center" FontSize="Large" TextColor="Orange"/>
<Button Text="Weiter" Clicked="Button_Clicked" HorizontalOptions="Center" VerticalOptions="EndAndExpand"/>
</StackLayout>
</ScrollView>
и мой xaml.cs код:
private void MoneyInput_TextChanged(object sender, TextChangedEventArgs e)
{
if (moneyInput.Text != null)
{
moneyOutput.Text = Convert.ToDouble(moneyInput.Text).ToString() + "€";
sharePrice = Convert.ToDouble(moneyInput.Text);
}
else if (moneyInput.Text == null)
{
throw new ArgumentException("String cannot be null or empty");
}
}
Я заметил, что if (moneyInput.Text != null)
не имеет никакого эффекта, потому что код все еще выполняется.