The code in method createDefaultRenderers() in file javax/swing/JTable.java looks like this /* line 2741 */ setDefaultRenderer(Double.class, new DoubleCellRenderer()); /* line 2742 */ setDefaultRenderer(Double.class, new FloatCellRenderer()); Effectively, this overrides the default cell renderer for Double values with the FloatCellRenderer instance. Fix: setDefaultRenderer(Float.class, new FloatCellRenderer());