Java 在jsf中以2点十进制格式显示数字
我正在使用JSF2和RichFaces3。在下图中,数字显示为数据库中的数字 但是如果有分数部分,我想将它们显示为Java 在jsf中以2点十进制格式显示数字,java,jsf-2,richfaces,converter,Java,Jsf 2,Richfaces,Converter,我正在使用JSF2和RichFaces3。在下图中,数字显示为数据库中的数字 但是如果有分数部分,我想将它们显示为6749395.20,如果没有分数部分,则显示为5095138.00 到目前为止,我已经尝试过类似的方法 事实上,我正在将它们全部显示在一起,但我已经尝试将它们作为所有可能的组合,包括类型、分组、最小分数位数和模式 为什么它不起作用?这是如何导致的,我如何解决它?如果值根本不是a,例如字符串,则可能发生这种情况。然后,对于它所表示的数据,基本上使用了错误的类型。要在Java中表
6749395.20
,如果没有分数部分,则显示为5095138.00
到目前为止,我已经尝试过类似的方法
事实上,我正在将它们全部显示在一起,但我已经尝试将它们作为所有可能的组合,包括类型
、分组
、最小分数位数
和模式
为什么它不起作用?这是如何导致的,我如何解决它?如果值根本不是a,例如
字符串,则可能发生这种情况。然后,对于它所表示的数据,基本上使用了错误的类型。要在Java中表示货币,应该使用。另外,确保数据库表中的类型正确,即它不应该是varchar,而应该是decimal
一旦您修复了数据类型,
将按照您告诉它的方式工作。请注意,pattern
属性将覆盖groupingUsed
和minFractionDigits
。您应该使用模式或其他模式。另外,type=“number”
已经是默认值,因此可以将其删除
所以,要么使用
或
请注意,它们生成不同的格式。您可能希望将分组设置为false
您还可以使用type=“currency”
,然后它将根据UIViewRoot\getLocale()
自动应用正确的模式:
另请参阅和javadoc。您的转换器应按预期工作。minFractionDigits=“2”
应该足够了。你在dataTable之外也尝试过同样的方法吗?伙计,我也在dataTable之外尝试过,但主要的问题是datatype,多亏了@BalusC,他帮了我。实际上在我的数据库中,它们是数字,我以字符串形式获取它们,然后尝试以某种模式将它们显示为数字。现在我将其更改为arraylist。现在,它正在显示正确和所需的格式。谢谢,伙计,非常感谢………..使用名称货币,是否有任何方法可以显示印度卢比符号和卢比,就像我可以显示美元($)符号一样。