Java 输入类型为“的Spring和Thymeleaf表单”;“数字”;转换为BigDecimal时忽略小数分隔符
在提交小数的html表单上,小数分隔符(无论我使用逗号还是句点)将被忽略。要获得正确的值,我需要将输入字段更改为Java 输入类型为“的Spring和Thymeleaf表单”;“数字”;转换为BigDecimal时忽略小数分隔符,java,html,spring,spring-mvc,thymeleaf,Java,Html,Spring,Spring Mvc,Thymeleaf,在提交小数的html表单上,小数分隔符(无论我使用逗号还是句点)将被忽略。要获得正确的值,我需要将输入字段更改为type=“text” 示例:当我提交表单中的值“0.01”时,它被转换为“1” HTML格式: <form method="post" class="form-vertical js-form-loading" th:action="@{/balanco/salvar}" th:object="${medicaoUsina}"> ... <input id="vl
type=“text”
示例:当我提交表单中的值“0.01”时,它被转换为“1”
HTML格式:
<form method="post" class="form-vertical js-form-loading" th:action="@{/balanco/salvar}" th:object="${medicaoUsina}">
...
<input id="vlAberturaComporta" type="number" min="0" max="11" step="0.01" class="form-control" th:field="*{vlAberturaComporta}" />
Java DTO MedicaleAuto:
public class MedicaoUsinaDTO {
private Long idMedicao;
private Integer idUsina;
private BigDecimal vlGeracaoUG1;
private BigDecimal vlGeracaoUG2;
private BigDecimal vlGeracaoUG3;
private BigDecimal vlAberturaComporta;
...
}
使用Spring 4.3.23和Thymeleaf 3.0.2
我可以使用input type=“text”
,但我更喜欢使用type=“number”
,这样我就可以使用HTML5字段验证器功能了
public class MedicaoUsinaDTO {
private Long idMedicao;
private Integer idUsina;
private BigDecimal vlGeracaoUG1;
private BigDecimal vlGeracaoUG2;
private BigDecimal vlGeracaoUG3;
private BigDecimal vlAberturaComporta;
...
}