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 also include methods to return the item's name and price as a formatted string and to convert the item object to a dictionary. If the class is created successfully, it should pass the following test cases:
  
  assert StoreItem(1, "Book", 15.99, "A novel").__str__() == "Book, $15.99"
  assert StoreItem(2, "Pen", 1.99, "Blue ink pen").to_dict() == {'item_id': 2, 'name': 'Pen', 'price': 1.99, 'description': 'Blue ink pen'}
  assert StoreItem(3, "Notebook", 4.99, "Spiral bound").__str__() == "Notebook, $4.99"
  assert StoreItem(4, "Eraser", 0.99, "White eraser").to_dict() == {'item_id': 4, 'name': 'Eraser', 'price': 0.99, 'description': 'White eraser'}
  assert StoreItem(5, "Highlighter", 2.49, "Yellow highlighter").__str__() == "Highlighter, $2.49"
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:.2f}"
  
      def to_dict(self):
          return {
              'item_id': self.item_id,
              'name': self.name,
              'price': self.price,
              'description': self.description
          }