dmolony-DiskBrowser/src/com/bytezone/diskbrowser/visicalc/Number.java

96 lines
1.6 KiB
Java
Raw Normal View History

2016-03-09 10:38:53 +00:00
package com.bytezone.diskbrowser.visicalc;
2016-03-11 21:56:02 +00:00
class Number implements Value
2016-03-09 10:38:53 +00:00
{
2016-03-16 19:32:25 +00:00
private double value;
private ValueType valueType;
2016-03-09 10:38:53 +00:00
2016-03-11 21:56:02 +00:00
public Number (String text)
2016-03-09 10:38:53 +00:00
{
2016-03-11 21:56:02 +00:00
try
{
2016-03-16 06:15:39 +00:00
value = Double.parseDouble (text);
2016-03-17 04:40:43 +00:00
valueType = ValueType.VALUE;
2016-03-11 21:56:02 +00:00
}
catch (NumberFormatException e)
{
2016-03-16 19:32:25 +00:00
valueType = ValueType.ERROR;
2016-03-11 21:56:02 +00:00
}
2016-03-09 10:38:53 +00:00
}
2016-08-01 01:22:34 +00:00
// @Override
// public boolean isValue ()
// {
// return valueType == ValueType.VALUE;
// }
//
// @Override
// public boolean isError ()
// {
// return valueType == ValueType.ERROR;
// }
//
// @Override
// public boolean isNotAvailable ()
// {
// return valueType == ValueType.NA;
// }
//
// @Override
// public boolean isNotANumber ()
// {
// return valueType == ValueType.NAN;
// }
2016-03-17 04:40:43 +00:00
@Override
2016-08-01 05:18:51 +00:00
public boolean isValueType (ValueType type)
2016-03-17 04:40:43 +00:00
{
2016-08-01 01:22:34 +00:00
return valueType == type;
2016-07-21 11:28:22 +00:00
}
2016-03-16 06:15:39 +00:00
@Override
public String toString ()
{
return String.format ("Number: %f", value);
2016-03-09 10:38:53 +00:00
}
@Override
2016-03-12 05:05:50 +00:00
public double getValue ()
2016-03-09 10:38:53 +00:00
{
2016-03-12 05:05:50 +00:00
return value;
2016-03-09 10:38:53 +00:00
}
2016-03-11 21:56:02 +00:00
2016-08-01 01:22:34 +00:00
// @Override
// public String getText ()
// {
// return isNotAvailable () ? "NA" : isError () ? "Error" : isNotANumber () ? "NaN" : "";
// // return valueType == ValueType.ERROR ? "Error" : "";
// }
2016-03-11 21:56:02 +00:00
@Override
2016-03-16 06:15:39 +00:00
public String getText ()
2016-03-11 21:56:02 +00:00
{
2016-08-01 01:22:34 +00:00
switch (valueType)
{
case NA:
return "NA";
case ERROR:
return "Error";
case NAN:
return "NaN";
default:
return "";
}
2016-03-11 21:56:02 +00:00
}
@Override
2016-03-17 04:40:43 +00:00
public Value calculate ()
2016-03-11 21:56:02 +00:00
{
2016-03-17 04:40:43 +00:00
return this;
2016-03-11 21:56:02 +00:00
}
2016-03-16 19:32:25 +00:00
@Override
public ValueType getValueType ()
{
2016-03-17 04:40:43 +00:00
return valueType;
2016-03-16 19:32:25 +00:00
}
2016-03-09 10:38:53 +00:00
}