如何在TextView中显示格式化的金额?

kirtan403

我的货币符号为String,金额为double到目前为止,我正在显示这样的金额:

amount.setText(currency + " " + amount);

在某些地方,我有2 TextViews的时间显示填充量,介于两者之间:

currency.setText(currency);
amount.setText(amount);

没关系 但是,我正在将此代码移动到具有Android数据绑定的布局文件中,是否有一种简单的方法来格式化和显示android中的金额?

例如symbol[space]amount,金额应设置为小数点后2位,否则为整数。例如,100将显示为100,而不是100.00,但是123.2将首先显示为123.20以及货币符号($ 123.20,$ 100)。

我知道有几种方法(资源字符串格式,NumberFormat)可以做到这一点(我还没有使用过,只是听说过),但是最简单,最干净的方法是什么?

我试图找到所有2个文本视图并将其转换为单个文本视图,并找到统一的方式来格式化和显示金额。

谢谢你。

kirtan403

受到@Nowshad答案的启发,我可以在没有带有数据绑定库的外部lib的情况下做到这一点。

必要时在布局文件中提供货币和金额:

          <TextView
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="end"
                android:textAppearance="@style/TextAppearance.AppCompat.Large"
                app:amount="@{amount}"
                app:currency="@{currency}" />

并提供绑定适配器:

@BindingAdapter({"currency", "amount"})
    public static void setCurrencyAndAmount(TextView textView, String currency, double amount) {
        SpannableString spannableString = new SpannableString(currency + " " +
                new DecimalFormat("#.##").format(amount));

        spannableString.setSpan(new RelativeSizeSpan(0.6f), 0, 1, 0);

        textView.setText(spannableString);
    }

简单高效。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 TextView 中显示格式化文本?

来自分类Dev

如何格式化TextView中显示的字符串中的文本

来自分类Dev

如何格式化TextView中显示的字符串中的文本

来自分类Dev

如何在javascript / jquery中使用逗号分隔符格式化和取消格式化美元金额?

来自分类Dev

如何在String.xml的textview中设置格式化的html文本?

来自分类Dev

如何创建注释以格式化金额值

来自分类Dev

Spring MVC:如何在JSP EL中显示格式化的日期值

来自分类Dev

如何在HTML和Javascript的动态列表中显示格式化的HTML文本

来自分类Dev

如何在格式化的datetimeoffset列中显示NULL值?

来自分类Dev

如何在Excel中格式化单元格以显示活动列中的值?

来自分类Dev

如何在瓶子模板中的列表中格式化和显示集合?

来自分类Dev

如何在 CanvasJS 图表中显示格式化的日期时间?

来自分类Dev

如何在 React 中显示由 Draft.js 格式化的数据?

来自分类Dev

如何在Android Studio中粘贴未格式化的格式化文本?

来自分类Dev

如何在textview中显示所有金额的总和而不是提交按钮?

来自分类Dev

如何在Swift中为PHFetchOptions格式化NSPredicate?

来自分类Dev

如何在Grape中的参数中格式化DateTime

来自分类Dev

如何在ServiceStack中实现JSONP格式化程序

来自分类Dev

如何在eclipse中启用自动格式化代码?

来自分类Dev

如何在Sublime中添加格式化的块注释

来自分类Dev

如何在Struts 2中格式化货币?

来自分类Dev

如何在XPath中包含格式化的文本?

来自分类Dev

如何在PHP中以意大利方式格式化日期?

来自分类Dev

如何在Coldfusion中破解未格式化的json

来自分类Dev

如何在R中重新格式化表格?

来自分类Dev

如何在F#中打印格式化日期

来自分类Dev

如何在r中重新格式化因子数据

来自分类Dev

如何在全新格式化的硬盘中安装Windows?

来自分类Dev

如何在Struts 2中格式化货币?

Related 相关文章

  1. 1

    如何在 TextView 中显示格式化文本?

  2. 2

    如何格式化TextView中显示的字符串中的文本

  3. 3

    如何格式化TextView中显示的字符串中的文本

  4. 4

    如何在javascript / jquery中使用逗号分隔符格式化和取消格式化美元金额?

  5. 5

    如何在String.xml的textview中设置格式化的html文本?

  6. 6

    如何创建注释以格式化金额值

  7. 7

    Spring MVC:如何在JSP EL中显示格式化的日期值

  8. 8

    如何在HTML和Javascript的动态列表中显示格式化的HTML文本

  9. 9

    如何在格式化的datetimeoffset列中显示NULL值?

  10. 10

    如何在Excel中格式化单元格以显示活动列中的值?

  11. 11

    如何在瓶子模板中的列表中格式化和显示集合?

  12. 12

    如何在 CanvasJS 图表中显示格式化的日期时间?

  13. 13

    如何在 React 中显示由 Draft.js 格式化的数据?

  14. 14

    如何在Android Studio中粘贴未格式化的格式化文本?

  15. 15

    如何在textview中显示所有金额的总和而不是提交按钮?

  16. 16

    如何在Swift中为PHFetchOptions格式化NSPredicate?

  17. 17

    如何在Grape中的参数中格式化DateTime

  18. 18

    如何在ServiceStack中实现JSONP格式化程序

  19. 19

    如何在eclipse中启用自动格式化代码?

  20. 20

    如何在Sublime中添加格式化的块注释

  21. 21

    如何在Struts 2中格式化货币?

  22. 22

    如何在XPath中包含格式化的文本?

  23. 23

    如何在PHP中以意大利方式格式化日期?

  24. 24

    如何在Coldfusion中破解未格式化的json

  25. 25

    如何在R中重新格式化表格?

  26. 26

    如何在F#中打印格式化日期

  27. 27

    如何在r中重新格式化因子数据

  28. 28

    如何在全新格式化的硬盘中安装Windows?

  29. 29

    如何在Struts 2中格式化货币?

热门标签

归档