diff --git a/src/core/service/api/upx2px.js b/src/core/service/api/upx2px.js index 94f1ebe2c3b23cd457b9a646779606e6cf18683c..b0cefb8315715732f6b4c7b2b660dff3de3874d9 100644 --- a/src/core/service/api/upx2px.js +++ b/src/core/service/api/upx2px.js @@ -16,7 +16,7 @@ export function checkDeviceWidth () { isIOS = platform === 'ios' } -export function upx2px (number, newDeviceWidth) { +export function upx2px (number, newDeviceWidth) { if (deviceWidth === 0) { checkDeviceWidth() } @@ -25,14 +25,17 @@ export function upx2px (number, newDeviceWidth) { if (number === 0) { return 0 } - number = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth) - number = Math.floor(number + EPS) - if (number === 0) { + let result = (number / BASE_DEVICE_WIDTH) * (newDeviceWidth || deviceWidth) + if (result < 0) { + result = -result + } + result = Math.floor(result + EPS) + if (result === 0) { if (deviceDPR === 1 || !isIOS) { return 1 } else { return 0.5 } } - return number + return number < 0 ? -result : result }