SpreadsheetCell.cpp
Upload User: gtl068a
Upload Date: 2007-01-25
Package Size: 233k
Code Size: 1k
Development Platform:

Visual C++

  1. #include "SpreadsheetCell.h"
  2. #include <iostream>
  3. #include <sstream>
  4. using namespace std;
  5. SpreadsheetCell::SpreadsheetCell() : mValue(0), mString("")
  6. {
  7. }
  8. SpreadsheetCell::SpreadsheetCell(double initialValue)
  9. {
  10.   setValue(initialValue);
  11. }
  12. SpreadsheetCell::SpreadsheetCell(const string& initialValue) :
  13.   mValue(stringToDouble(initialValue)), mString(initialValue)
  14. {
  15. }
  16. SpreadsheetCell::SpreadsheetCell(const SpreadsheetCell &src) :
  17.   mValue(src.mValue), mString(src.mString)
  18. {
  19. }
  20. void SpreadsheetCell::setValue(double inValue)
  21. {
  22.   mValue = inValue;
  23.   mString = doubleToString(mValue);
  24. }
  25. double SpreadsheetCell::getValue()
  26. {
  27.   return (mValue);
  28. }
  29. void SpreadsheetCell::setString(const string& inString)
  30. {
  31.   mString = inString;
  32.   mValue = stringToDouble(mString);
  33. }
  34. string SpreadsheetCell::getString()
  35. {
  36.   return (mString);
  37. }
  38. string SpreadsheetCell::doubleToString(double inValue)
  39. {
  40.   ostringstream ostr;
  41.   ostr << inValue;
  42.   return (ostr.str());
  43. }
  44. double SpreadsheetCell::stringToDouble(const string& inString)
  45. {
  46.   double temp;
  47.   istringstream istr(inString);
  48.   istr >> temp;
  49.   if (istr.fail() || !istr.eof()) {
  50.     return (0);
  51.   }
  52.   return (temp);
  53. }