我正在尝试从API格式化double,因此它只显示前2个小数。另外,我使用DataBinding
执行此操作。当我这样做时,它可以工作:
android:text='@{String.format("%.2f", cartItem.totalPrice)}'
但是,这将使用逗号,
作为小数分隔符。当我尝试强制它使用点.
作为小数分隔符时,我无法构建项目,因为我收到DataBinding
错误。这就是我想要做的事情:
android:text='@{String.format(Locale.ROOT, "%.2f", cartItem.totalPrice)}'
答案 0 :(得分:2)
但是,这将使用逗号作为小数分隔符。
您不能在此处使用逗号。此点不是小数分隔符,而是关于输出精度(see docs)的格式说明符的一部分。因此,一旦获得输出,您只需将.
替换为,
,如:
android:text='@{String.format("%.2f", cartItem.totalPrice).replace(".", ",")}'
以逗号分隔符结束。