From 27d119c068bfcb88cd8b1f7e7b7f4b655b20e659 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Tue, 13 Feb 2024 11:10:56 +0100 Subject: [PATCH] Bugfix: typeCast() number could return NaN --- dev/Knoin/AbstractModel.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dev/Knoin/AbstractModel.js b/dev/Knoin/AbstractModel.js index 668a2f41f..724cf3dce 100644 --- a/dev/Knoin/AbstractModel.js +++ b/dev/Knoin/AbstractModel.js @@ -5,9 +5,13 @@ function typeCast(curValue, newValue) { if (null != curValue) { switch (typeof curValue) { - case 'boolean': return 0 != newValue && !!newValue; - case 'number': return isFinite(newValue) ? parseFloat(newValue) : 0; - case 'string': return null != newValue ? '' + newValue : ''; + case 'boolean': + return 0 != newValue && !!newValue; + case 'number': + newValue = parseFloat(newValue); + return isFinite(newValue) ? newValue : 0; + case 'string': + return null != newValue ? '' + newValue : ''; case 'object': if (curValue.constructor.reviveFromJson) { return curValue.constructor.reviveFromJson(newValue);