input: Write a function to generate a Python class for an online store item that includes fields for ID, name, price, and description. The class should have methods to return a string representation of the item and to convert the item to a dictionary.
  assert StoreItem(1, 'Laptop', 999.99, 'High-performance laptop').to_dict() == {'item_id': 1, 'name': 'Laptop', 'price': 999.99, 'description': 'High-performance laptop'}
  assert str(StoreItem(2, 'Smartphone', 599.99, 'Latest model smartphone')) == 'Smartphone, $599.99'
  assert StoreItem(3, 'Headphones', 199.99, 'Noise-canceling headphones').to_dict() == {'item_id': 3, 'name': 'Headphones', 'price': 199.99, 'description': 'Noise-canceling headphones'}
  assert str(StoreItem(4, 'Tablet', 399.99, 'Lightweight tablet')) == 'Tablet, $399.99'
  assert StoreItem(5, 'Camera', 799.99, 'DSLR camera').to_dict() == {'item_id': 5, 'name': 'Camera', 'price': 799.99, 'description': 'DSLR camera'}
output: class StoreItem:
      def __init__(self, item_id, name, price, description):
          self.item_id = item_id
          self.name = name
          self.price = price
          self.description = description
  
      def __str__(self):
          return f"{self.name}, ${self.price}"
  
      def to_dict(self):
          return {
              'item_id': self.item_id,
              'name': self.name,
              'price': self.price,
              'description': self.description
          }