ln.json/JSONNumber.cs

43 lines
704 B
C#

using System;
namespace sharp.json
{
public class JSONNumber: JSON
{
Int64 intValue;
Double doubleValue;
public JSONNumber()
:base(JSONTypes.Number)
{
intValue = 0;
doubleValue = Double.NaN;
}
public JSONNumber(Int64 i)
:base(JSONTypes.Number)
{
intValue = i;
doubleValue = Double.NaN;
}
public JSONNumber(Double d)
:base(JSONTypes.Number)
{
intValue = (Int64)d;
doubleValue = d;
}
public override string prettyPrint(int d = 0)
{
if (Double.IsNaN(doubleValue)){
return this.intValue.ToString();
} else {
return this.doubleValue.ToString();
}
}
public override string ToString()
{
return this.prettyPrint(0);
}
}
}