使用Android DataBinding

时间:2017-03-15 09:24:18

标签: java android android-databinding

我正在尝试从API格式化double,因此它只显示前2个小数。另外,我使用DataBinding执行此操作。当我这样做时,它可以工作:

android:text='@{String.format("%.2f", cartItem.totalPrice)}'

但是,这将使用逗号,作为小数分隔符。当我尝试强制它使用点.作为小数分隔符时,我无法构建项目,因为我收到DataBinding错误。这就是我想要做的事情:

android:text='@{String.format(Locale.ROOT, "%.2f", cartItem.totalPrice)}'

1 个答案:

答案 0 :(得分:2)

  

但是,这将使用逗号作为小数分隔符。

您不能在此处使用逗号。此点不是小数分隔符,而是关于输出精度(see docs)的格式说明符的一部分。因此,一旦获得输出,您只需将.替换为,,如:

android:text='@{String.format("%.2f", cartItem.totalPrice).replace(".", ",")}'

以逗号分隔符结束。