Skip to content

fix: convert inch to feet and back is not precise - should be round up

Andrzej Misiewicz requested to merge bugfix/sq-in-ft-calculation into devel

W tym MR są 2 bugi + nowe tłumaczenia + phpstan (choć w przypadku tej wtyczki może to być samobójstwo ;)

problematyczny bug to:

Nie można dodać do koszyka 1inch x 1inch z takim komunikatem https://monosnap.com/file/5KosVruxSKbmjIlvYjXbmUwcxavS5c

problem sprowadza się do przeliczeń

$value = 1;
$factor = 144;
$scale = 6; //wc_get_rounding_precision();

$value = \WDFQVendor\Brick\Math\BigDecimal::of($value)->dividedBy($factor, $scale, \WDFQVendor\Brick\Math\RoundingMode::HALF_EVEN)->toFloat();
// its 0.006944  ... should be 0,006944444

// back to the original unit
$value = \WDFQVendor\Brick\Math\BigDecimal::of($value)->multipliedBy($factor)->toFloat();
// its 0.999936 should be 1

zwiększenie precyzji - $scale w końcu dawało błąd, wiec wybrałem zaokrąglenie... jako, że increment może być różny (np. ułamkowy) to i zaokrąglenie wartości zależne jest od precyzji tego incrementu

w takiej formie wprawdzie testy u Tomka już przeszły (ehh były tam kilka razy ;) ale i tak będę wdzięczny za feedback i ewentualne sugestie zmian

Edited by Andrzej Misiewicz

Merge request reports