fix: convert inch to feet and back is not precise - should be round up
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