https://bugs.documentfoundation.org/show_bug.cgi?id=170247

            Bug ID: 170247
           Summary: Calc displays decimal numbers with 3 decimal places
                    without decimal point in CSV files
           Product: LibreOffice
           Version: 7.3.7.2 release
          Hardware: x86-64 (AMD64)
                OS: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: medium
         Component: Calc
          Assignee: [email protected]
          Reporter: [email protected]

Description:
When opening a CSV file in LibreOffice Calc, decimal numbers with exactly 3
decimal places are displayed incorrectly without the decimal point, making them
appear 1000 times larger than they actually are.

For example:
- 2.835 is displayed as 2835
- 1.835 is displayed as 1835
- 2.165 is displayed as 2165

Numbers with 1 or 2 decimal places display correctly (e.g., 2.84, 1.67, 4.5).

This issue causes serious data misinterpretation, especially in contexts like
grade calculation systems where intermediate calculations naturally result in 3
decimal places. When inspecting the CSV file in a text editor, the values are
correct (2.835), so the problem appears to be in Calc's CSV import/display
logic, not the data itself.

Steps to Reproduce:
1.1. Create a CSV file with the following content:

Name,Value_2_decimals,Value_3_decimals
Student1,2.84,2.835
Student2,1.84,1.835
Student3,2.17,2.165
Student4,3.34,3.335
Student5,2.67,2.665

2. Save the file as test_bug.csv (UTF-8 encoding)

3. Open the file in LibreOffice Calc

4. Observe the values in the "Value_3_decimals" column
2.
3.

Actual Results:
Values with 3 decimal places are displayed WITHOUT decimal point (missing
decimal separator):

Column "Value_2_decimals": 2.84, 1.84, 2.17, 3.34, 2.67 ✓ (correct)
Column "Value_3_decimals": 2835, 1835, 2165, 3335, 2665 ✗ (incorrect!)

The decimal point is missing, making values appear 1000 times larger than they
actually are.

Expected Results:
All decimal values should be displayed with their decimal point:

Column "Value_2_decimals": 2.84, 1.84, 2.17, 3.34, 2.67 ✓
Column "Value_3_decimals": 2.835, 1.835, 2.165, 3.335, 2.665 ✓

All numbers should maintain their decimal separator regardless of the number of
decimal places.


Reproducible: Always


User Profile Reset: Yes

Additional Info:
**Reporter Information:**
- Date: 2026-01-06
- LibreOffice Version: 7.3.7.2 Community (Ubuntu 22.04)
- Build ID: 30(Build:2)
- OS: Linux 5.15 (Ubuntu 22.04 LTS)
- Locale: de-DE (de_DE.UTF-8)
- Calc: threaded (4 CPU threads)
- Discovered during: Python-based grade calculation system
- CSV encoding: UTF-8
- Decimal separator in CSV: period (.)

**Context:**
This bug was discovered in an educational grade management system where
intermediate calculations resulted in values with 3 decimal places (e.g.,
average of 3.0 and 2.67 = 2.835). When the output CSV was opened in Calc, these
values were displayed as 2835, causing significant confusion.

**Technical Notes:**
- The issue appears to be related to CSV parsing/display, not data storage
- When inspecting the CSV file in a text editor, values are correct (2.835, not
2835)
- The issue specifically affects numbers with exactly 3 decimal places
- Cell formatting shows these as "General" or "Number" format
- Manually re-entering the same value (2.835) displays it correctly
- The bug seems to occur during initial CSV import/display

**Impact:**
This bug causes serious data misinterpretation as values appear 1000 times
larger than they actually are. In educational contexts, this makes grade
averages completely unreadable.

**Workaround:**
Format values to exactly 2 decimal places before saving to CSV (e.g., using
f"{x:.2f}" in Python).

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to