f:convertNumber意外地递增/递减浮点值

时间:2015-05-27 14:09:54

标签: jsf jsf-2 floating-point converter

我有一个float属性绑定到<h:inputText>。对于长值,它会自动将值转换为指数表示法。我尝试使用<f:convertNumber>来避免指数值表示。该值可以是下面给出的两个值。

  • 格式1:&lt; 18位&gt;
  • 格式2:&lt; 14可选数字&gt;。&lt; 3选项小数&gt;

我尝试使用转换器如下:

<f:convertNumber pattern="####.###" />

它适用于长达8位的数字,但在此之后,该值将转换为某个意外值。例如,如果我在文本框中给出值12345678,则会正确转换。但是如果我给1234567899,则值会转换为1234567936。如果给出值1234567899.123,它仍会转换为1234567936

如果有人能够解释这个问题并让我知道我在做什么会很棒。提前谢谢。

1 个答案:

答案 0 :(得分:0)

简而言之:floating-point-gui.de

如果您重视精确度,则应使用java.math.BigDecimal代替float / double / java.lang.Float / java.lang.Double