diff --git a/android/src/main/java/com/tron/ReactWheelCurvedPicker.java b/android/src/main/java/com/tron/ReactWheelCurvedPicker.java index 5d30c652..c6a82e12 100644 --- a/android/src/main/java/com/tron/ReactWheelCurvedPicker.java +++ b/android/src/main/java/com/tron/ReactWheelCurvedPicker.java @@ -110,6 +110,8 @@ private WritableMap serializeEventData() { Class mValueClass = mValue.getClass(); if (mValueClass == Integer.class) { eventData.putInt("data", (Integer) mValue); + } else if (mValueClass == Double.class) { + eventData.putDouble("data", (Double) mValue); } else if (mValueClass == String.class) { eventData.putString("data", mValue.toString()); } diff --git a/android/src/main/java/com/tron/ReactWheelCurvedPickerManager.java b/android/src/main/java/com/tron/ReactWheelCurvedPickerManager.java index 19dfcc0e..ae96fcc8 100644 --- a/android/src/main/java/com/tron/ReactWheelCurvedPickerManager.java +++ b/android/src/main/java/com/tron/ReactWheelCurvedPickerManager.java @@ -70,7 +70,8 @@ public void setData(ReactWheelCurvedPicker picker, ReadableArray items) { if (itemMap.getType("value") == ReadableType.String) { valueData.add(itemMap.getString("value")); } else if (itemMap.getType("value") == ReadableType.Number) { - valueData.add(itemMap.getInt("value")); + // Store as Double to preserve decimal precision + valueData.add(itemMap.getDouble("value")); } labelData.add(itemMap.getString("label"));