diff --git a/src/components/nested-table.tsx b/src/components/nested-table.tsx index f9b1257..5654ea3 100644 --- a/src/components/nested-table.tsx +++ b/src/components/nested-table.tsx @@ -121,15 +121,16 @@ export const NestedTable = (props: IProps) => { // determine if it should be parsed as a number. // Numbers that are whole numbers are treated as integers, so we should ignore the precision. // Numeric cells that are empty should be treated as empty strings. - const val = (attrTypes[key] !== "numeric" && attrTypes[key] !== null) - || (values[key] === "") - || (typeof values[key] !== "number") - ? values[key] - : isWholeNumber - ? parseInt(values[key],10) - : precision !== undefined - ? (parseFloat(values[key])).toFixed(precision) - : (parseFloat(values[key])).toFixed(2); // default to 2 decimal places + const val = attrTypes[key] === "numeric" && values[key] !== "" + ? !isNaN(parseFloat(values[key])) + ? isWholeNumber + ? parseInt(values[key], 10) + : parseFloat(values[key]).toFixed(precision !== undefined ? precision : 2) + : values[key] + : typeof values[key] === "number" && values[key] !== "" + ? values[key].toFixed(precision !== undefined ? precision : 2) + : values[key]; + if (attrVisibilities[key]) { return null; }