【问题标题】:How do you format a listview text element如何格式化列表视图文本元素
【发布时间】:2012-06-26 12:10:15
【问题描述】:

我正在使用列表视图并希望将文本格式化为货币。我从光标获取数值数据并将其加载到多个文本框中,即

        SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
            R.layout.list_item_sales_order, 
            null,  //was mCursor 
            new String[]{MyobiliseData.Columns_TempOrders.SALES_ITEM_DESCRIPTION
            ,MyobiliseData.Columns_TempOrders.SALES_ITEM_QTY
            ,MyobiliseData.Columns_TempOrders.SALES_ITEM_PRICE_EXGST
            ,MyobiliseData.Columns_TempOrders.SALES_ITEM_TOTAL_INCGST},
            new int[] {R.id.liItemDescription, R.id.liItemQty, R.id.liItemPrice, R.id.liTotal}
            );
    theListView.setAdapter(adapter);

我可以将文本格式化为货币,例如现在显示的是 10.56 美元而不是 10.56 美元?

谢谢

安东

【问题讨论】:

  • 对不起,null应该是光标的名字
  • 您可以通过为适配器实现视图活页夹来做到这一点。使用 adapter.setViewBinder()
  • 谢谢 - 我在link找到了链接

标签: android


【解决方案1】:

我认为数字格式应该这样做。

 DecimalFormat df = new DecimalFormat("\u00A4##,##"); //$
 System.out.println("Pattern: " + df.toPattern() + " -> " + df.format(value));

【讨论】:

    【解决方案2】:

    格式化货币值的正确方法是:

    NumberFormat.getCurrencyInstance(Locale.US).format(YOUR_CURRENCY_VALUE))
    

    希望这会有所帮助。

    【讨论】:

    • 对不起,我不清楚我的问题 - 我究竟要格式化什么。它是一个列表视图,所以我可以在哪里应用任何文本格式?
    • Can I format the text as money, e.g. $10.56 rather than 10.56 which shows up now? 上面的帖子是对你这个问题的回答。因此,确定为您提供货币价值的文本(例如 10.56)并使用上述方法将其转换为指定区域设置的货币格式(例如对于 Locale.US,输出将为 $10.56)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-07
    • 1970-01-01
    • 2019-11-26
    • 2015-07-16
    相关资源
    最近更新 更多