From 0ee07d662a898ddadb1f85342a89a88ac0732e11 Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Thu, 21 Jul 2016 21:08:28 +1000 Subject: [PATCH] handle NaN --- src/com/bytezone/diskbrowser/visicalc/Cell.java | 4 +++- src/com/bytezone/diskbrowser/visicalc/Count.java | 1 + src/com/bytezone/diskbrowser/visicalc/Expression.java | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/com/bytezone/diskbrowser/visicalc/Cell.java b/src/com/bytezone/diskbrowser/visicalc/Cell.java index 3aa2f9f..a41ffe9 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Cell.java +++ b/src/com/bytezone/diskbrowser/visicalc/Cell.java @@ -125,6 +125,8 @@ class Cell implements Comparable, Value return justify (value.getText (), colWidth); Double thisValue = value.getValue (); + if (thisValue.isNaN ()) + return justify ("NaN", colWidth); char format = cellFormat != ' ' ? cellFormat : defaultFormat; if (format == 'I') @@ -213,7 +215,7 @@ class Cell implements Comparable, Value { if (!isValue ()) { - // System.out.println ("Not a value"); + // System.out.println (value); return this; } assert isValue () : "Cell type: " + type + " @ " + address; diff --git a/src/com/bytezone/diskbrowser/visicalc/Count.java b/src/com/bytezone/diskbrowser/visicalc/Count.java index 278bd02..312989d 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Count.java +++ b/src/com/bytezone/diskbrowser/visicalc/Count.java @@ -31,6 +31,7 @@ class Count extends Function if (cell.getValue () != 0.0) value++; } + return this; } } \ No newline at end of file diff --git a/src/com/bytezone/diskbrowser/visicalc/Expression.java b/src/com/bytezone/diskbrowser/visicalc/Expression.java index 4d58b3c..18b45da 100644 --- a/src/com/bytezone/diskbrowser/visicalc/Expression.java +++ b/src/com/bytezone/diskbrowser/visicalc/Expression.java @@ -272,6 +272,7 @@ class Expression implements Value else if (text.charAt (ptr) == '(') ++depth; } + return text.substring (0, ptr + 1); // include closing parenthesis }