如何在mysql中避免使用浮点数据类型的科学数字格式?

如何在mysql中避免使用浮点数据类型的科学数字格式?,mysql,hibernate,spring,Mysql,Hibernate,Spring,我使用mysql作为后端数据库,hibernate和spring作为前端。我在许多表中使用float类型,这些表最多只能接受七位数字,然后将值保存为科学数字格式,这是一个大问题,我不能使用double,因为它将影响大多数表 我试过使用十进制格式,但不起作用 protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) throws Exception{ CustomDateE

我使用mysql作为后端数据库,hibernate和spring作为前端。我在许多表中使用float类型,这些表最多只能接受七位数字,然后将值保存为科学数字格式,这是一个大问题,我不能使用double,因为它将影响大多数表

我试过使用十进制格式,但不起作用

protected void initBinder(HttpServletRequest request, ServletRequestDataBinder binder) 
throws Exception{
    CustomDateEditor dateEditor = new CustomDateEditor(new format("dd/MM/yyyy"), true);
    binder.registerCustomEditor(Date.class,null, dateEditor);

    DecimalFormat decimalFormat = new DecimalFormat();
    DecimalFormatSymbols symbols = new DecimalFormatSymbols();
    symbols.setDecimalSeparator('.');
    decimalFormat.setDecimalFormatSymbols(symbols);
    decimalFormat.setMaximumFractionDigits(2);

    binder.registerCustomEditor(Float.class, 
    new CustomNumberEditor(Float.class, decimalFormat, true));
}
任何人都能告诉我们如何在不改变其类型的情况下避免使用浮点数的科学符号。

没有“使用浮点数的科学数字格式”,只有当您(隐式或显式)更改数据的表示形式时,您才能看到应用的科学符号,最有可能是字符表示形式

Hibernate将存储在数据库中的数据映射到java数据类型——它不进行任何转换,这将导致数字的表示形式更改为科学符号

是将数字转换为字符串的工具。如果要更改它生成的字符串的格式,请告诉它要使用的格式。e、 g

DecimalFormat decimalFormat = new DecimalFormat('###,###,###,###,###.0#');

顺便说一句,你不应该对货币值使用浮动。

非常感谢,我尝试了你的方法,但仍然不适用于我。下面是代码DecimalFormat DecimalFormat=new DecimalFormat(“##########################0#”);binder.registerCustomEditor(Float.class,new customnumberditor(Float.class,decimalFormat,true));