Merge pull request #2782 from SchrodingersGat/floating-point-fixes

Fix floating point issues
This commit is contained in:
Oliver 2022-03-27 21:57:44 +11:00 committed by GitHub
commit aed7a35312
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1025,9 +1025,10 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) {
}
// Store the required quantity in the row data
row.required = quantity;
// Prevent weird rounding issues
row.required = parseFloat(quantity.toFixed(15));
return quantity;
return row.required;
}
function sumAllocations(row) {
@ -1043,9 +1044,9 @@ function loadBuildOutputAllocationTable(buildInfo, output, options={}) {
quantity += item.quantity;
});
row.allocated = quantity;
row.allocated = parseFloat(quantity.toFixed(15));
return quantity;
return row.allocated;
}
function setupCallbacks() {
@ -1642,6 +1643,9 @@ function allocateStockToBuild(build_id, part_id, bom_items, options={}) {
remaining = 0;
}
// Ensure the quantity sent to the form field is correctly formatted
remaining = parseFloat(remaining.toFixed(15));
// We only care about entries which are not yet fully allocated
if (remaining > 0) {
table_entries += renderBomItemRow(bom_item, remaining);