• 0

[C#]Need help converting empty string to double.


Question

Hi all , i'm quite a beginner in C# language , i wanted to write a program that uses OOP and requires the user to input an amount of cash and another amount to take it from cash , if the cash is lesser than the amount , it will display "Not enough cash." message . very simple ... here's my code :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();            
            guy1 = new Guy();
            double x;
            if (double.TryParse(textBox2.Text, out x))
            {
                guy1.guycash = double.Parse(textBox2.Text);
            }
            guy1.guyname = textBox1.Text;            
        }

        Guy guy1 ;


        private void button1_Click(object sender, EventArgs e)
        {                     
             label5.Text = guy1.TakeCash(double.Parse(textBox3.Text)).ToString();
        }      

    }
}

And here's the Guy class code :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    class Guy
    {
        private string name;
        private double cash;

        public string guyname
        {
            get { return name; }
            set { name = value; }
        }

        public double guycash
        {
            get { return cash ; }
            set { cash = value; }
        }


        public double TakeCash(double amount)
        {
            if (cash > amount)
            {
                cash -= amount;
                return cash;
            }
            else
            {
                MessageBox.Show("Notgh Cash.");
                return 0;
            }
        }

    }
}

ok , now bear with me please , using this in Public form1()

if (double.TryParse(textBox2.Text, out x))
            {
                guy1.guycash = double.Parse(textBox2.Text);
            }

requires that a numeric value must exist in textbox2 when the form loads up , but i want to leave it empty so that the user can enter a number in it !

if i left it empty the double.TryParse will return false and the whole program will broke since there will be no control holding guy1.guycash value ..

any help is appreciated , thanks in advance :)

2 answers to this question

Recommended Posts

  • 0

You will need to handle the TextChanged event of the TextBox, or add a new button that the user clicks after entering the cash, and put the code that populates guy1's cash in there. Where the code is now it will only be run when the application is launched and the user will never have an opportunity to set the cash property. You also don't need to call parse again after tryparsing, x contains the value you want if the parse succeeds so you can just assign it to guycash.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Black Myth: Wukong hits Xbox this August, exactly a year after PlayStation launch by Pulasthi Ariyasinghe Developer Game Science delivered one of the biggest action games of all time last year, with Black Myth: Wukong going on to sell tens of millions in its launch month and winning a multitude of awards. However, the title skipped out on a platform it was originally announced to launch in: Xbox. Following a long string of reasons and delays, it seems the port is finally coming to the platform. Today, Game Science announced that the Xbox Series X|S version of Black Myth: Wukong now has a release date, with it landing on August 20, 2025. Pre-orders for the title will become available starting June 18. Interestingly, this Xbox release date is set exactly one year after the original release on PlayStation 5 and PC. Game Science originally stated that the delay was due to technical issues with Xbox consoles. However, Microsoft refuted that claim quickly and alluded that the delay was due to some sort of console exclusivity deal between Game Science and Sony. In today's announcement, Game Science once again says that the delay was due to its work on porting the game to Xbox and meeting its quality standards. "Bringing Black Myth: Wukong to Xbox Series X|S—and ensuring the experience met our internal quality standards—was no easy feat," said the studio today regarding the long delay on Xbox platforms. "Fortunately, we were able to complete this challenging task smoothly within the first year of the game's official release." "If you're an Xbox player who hasn't yet experienced the game on another platform, we're confident it will stand among the finest ARPGs available on Xbox," added Game Science. For those looking to jump into the game a little cheaper than usual, Game Science will be hosting Black Myth: Wukong's first-ever sale on June 18. The 20% off discount will be available across PC, PlayStation, and even the Microsoft Store for the Xbox Series X|S pre-order.
    • And where is "don't be evil"? Oh, yeah, they removed it, too.
    • YouTube isn't a monopoly, it's just the most popular video platform, but other options and competitors do exist. And I'm not defending YouTube here, I'm a subscriber to Geerling's channel and I like his content and YouTube clearly went too far with this, but they can't be considered a monopoly, IMO. https://www.captions.ai/blog-post/youtube-alternatives
    • Harmful to them because it affects their business. *Sigh*
  • Recent Achievements

    • Week One Done
      theevergreentree earned a badge
      Week One Done
    • Dedicated
      Fryer Tuck earned a badge
      Dedicated
    • Week One Done
      luxoxfurniture earned a badge
      Week One Done
    • First Post
      Uranus_enjoyer earned a badge
      First Post
    • Week One Done
      Uranus_enjoyer earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      439
    2. 2
      +FloatingFatMan
      247
    3. 3
      snowy owl
      228
    4. 4
      ATLien_0
      213
    5. 5
      Xenon
      152
  • Tell a friend

    Love Neowin? Tell a friend!