rounding numbers attempt

This commit is contained in:
buzzcode2007 2024-02-27 19:17:13 +08:00
parent 5c5c5552a8
commit bc5c0a7030

View file

@ -8,6 +8,7 @@ package tech.iBeans.POSware.Lite;
import tech.iBeans.POSware.Lite.inventory.*;
import tech.iBeans.POSware.Lite.receipt.*;
import java.text.DecimalFormat;
// Import global modules.
import java.util.*;
@ -118,31 +119,36 @@ public class transact {
if (item_details != null) {
if (item_details.get("Price") != null) {
item_pricing.put("unit", Float.valueOf(item_details.get("Price").toString()));
item_pricing.put("subtotal", Float.valueOf(item_details.get("Price").toString()) * QUANTITY);
item_pricing.put("total", Float.valueOf( item_pricing.get("subtotal")));
// Set up the decimal format.
DecimalFormat FORMAT_DECIMAL = new DecimalFormat("#.00");
item_pricing.put("unit", Float.valueOf(FORMAT_DECIMAL.format(Float.valueOf(item_details.get("Price").toString()))));
item_pricing.put("subtotal", Float.valueOf(FORMAT_DECIMAL.format(Float.parseFloat(item_details.get("Price").toString()) * QUANTITY)));
item_pricing.put("total", Float.valueOf(FORMAT_DECIMAL.format(item_pricing.get("subtotal"))));
if (item_details.get("Tax") != null) {
item_pricing.put("tax", Float.valueOf(item_details.get("Tax").toString()) * QUANTITY);
item_pricing.put("tax", Float.valueOf(FORMAT_DECIMAL.format(Float.valueOf(item_details.get("Tax").toString()) * QUANTITY)));
item_pricing.put("total", Float.valueOf(item_pricing.get("total").toString()) + Float.valueOf(item_pricing.get("tax").toString()));
};
if (item_details.get("Discount") != null) {
if (Integer.parseInt(item_details.get("Discount").toString()) > 0) {
item_pricing.put("discount",
QUANTITY * Float.parseFloat(item_details.get("Price").toString()) * (1 - (Float.parseFloat(item_details.get("Discount").toString()) / 100))
);
item_pricing.put("discount", Float.valueOf(FORMAT_DECIMAL.format(
QUANTITY * Float.parseFloat(item_details.get("Price").toString()) * (1 - (Float.parseFloat(item_details.get("Discount").toString()) / 100))
)));
} else if (Integer.parseInt(item_details.get("Discount").toString()) < 0) {
item_pricing.put("discount",
item_pricing.put("discount", Float.valueOf(FORMAT_DECIMAL.format(
QUANTITY * Float.parseFloat(item_details.get("Price").toString()) * (0 - (Float.parseFloat(item_details.get("Discount").toString()) / 100))
);
)));
} else {
item_pricing.put("discount", (float) 0);
};
item_pricing.put("total", Float.valueOf(item_pricing.get("total").toString()) - Float.valueOf(item_pricing.get("discount").toString()));
item_pricing.put("total", Float.valueOf(FORMAT_DECIMAL.format(Float.valueOf(item_pricing.get("total").toString()) - Float.valueOf(item_pricing.get("discount").toString()))));
};
};
};
System.out.println(item_pricing);
// Return the data.
return item_pricing;
@ -158,7 +164,7 @@ public class transact {
*/
var action_pricing = calculate(SKU, QUANTITY);
receipt.action(SKU, QUANTITY, action_pricing.get("unit"), action_pricing.get("total"));
receipt.action(inventory.collate().get(inventory.list().indexOf(SKU)), QUANTITY, action_pricing.get("unit"), action_pricing.get("total"));
};
public static boolean add(String SKU, int QUANTITY) {