无法在Kotlin中将给定对象格式化为数字

ds公园

以下是有关价格信息的使用ConverPrice函数时发生的错误。

回收者视图适配器onBindViewHolder中的商品价格。

作为调试的结果,以下代码中出现错误。

priceText =“ $ {dec.format(priceMin)}〜$ {dec.format(priceMax)}”

请检查我的代码并回答。

        override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {

            when (holder) {
                is DataViewHolder -> {
                    val item = dataList[position]

                    item.price.let {
                        holder.price.text = ConvertPrice(item, holder.price)
                    }

                }
            }
        }

fun ConvertPrice(productDetail: ProductDetail?, tv: TextView? = null, setPrice: Boolean = false): String {
    val disableColor = Color.parseColor("#aaaaaa")
    val enableColor = Color.parseColor("#3692ff")

    tv?.setTextColor(disableColor)

    if (ProductDetail != null) {
        val priceMin = productDetail.priceMin
        val priceMax = productDetail.priceMax
        var priceText = ""

        val dec = DecimalFormat("##,###")

        productDetail.enabledRetail?.let {
            if (productDetail.enabledRetail == true) {
                if (setPrice) {
                    priceText = if (priceMin == null || priceMax == null) {
                        "No pricing information"
                    } else {
                        "${dec.format(priceMin)} ~ ${dec.format(priceMax)}"
                    }
                    tv?.setTextColor(disableColor)
                }
                else {
                    priceText = dec.format(wineDetail.price).toString()
                    tv?.setTextColor(enableColor)
                }
                return priceText
            } else if (productDetail.cntRating!! > 0) {
                if ((priceMin == null && priceMax == null) || (priceMin == 0 && priceMax == 0)) {
                    priceText = "No pricing information"
                } else {
                    priceText =
                        "${dec.format(priceMin)} ~ ${dec.format(priceMax)}"
                    tv?.setTextColor(disableColor)
                }
                return priceText
            }
        }
    }
    return "No pricing information"
}


系统罪人

DecimalFormat.format()仅适用于长整型或双精度型。您应该将“ priceMin”和“ priceMax”转换为Long。

val priceMin = productDetail.priceMin.toLong()
val priceMax = productDetail.priceMax.toLong()

我建议使用NumberFormat而不是DecimalFormat因为它是区域敏感的

val decFormat = NumberFormat.getInstance() // or getCurrencyInstance()
decFormat.maximumFractionDigits = 3
decFormat.format(priceMin)
decFormat.format(priceMax)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将给定对象格式化为数字

来自分类Dev

无法将给定对象格式化为数字组合框

来自分类Dev

错误:无法将给定的对象格式化为日期,将日期格式化为新格式(Android)

来自分类Dev

java.lang.IllegalArgumentException:无法将给定对象格式化为日期

来自分类Dev

java.lang.IllegalArgumentException:无法将给定对象格式化为日期

来自分类Dev

Java Localize DateFormat 无法将给定的对象格式化为日期

来自分类Dev

Android:从JSON响应转换日期时出现错误“无法将给定对象格式化为日期”

来自分类Dev

StandardWrapperValve [jsp]:Servlet jsp的Servlet.service()抛出异常java.lang.IllegalArgumentException:无法将给定对象格式化为日期

来自分类Dev

在Python中将数字格式化为货币

来自分类Dev

在Python中将数字格式化为货币

来自分类Dev

如何在JasperSoft Studio中将数字格式化为2.564.894.621?

来自分类Dev

在Flutter中将数字格式化为字符串

来自分类Dev

将数字格式化为 2 位数:“需要对象”

来自分类Dev

无法格式化为XMLGregorianCalendar

来自分类Dev

如何在xsl中将数字格式化为日期时间格式?

来自分类Dev

在语义MediaWiki中将Url的查询结果格式化为给定的字符串

来自分类Dev

如何在PHP中将数字300格式化为3.0

来自分类Dev

如何在POSIXct日期中将'day'格式化为一位数字

来自分类Dev

如何在r的逻辑回归方法中将p值格式化为4位数字

来自分类Dev

如何在Django中将数字从1000格式化为1k

来自分类Dev

将日期用作数字,但在用户界面中将其格式化为日期

来自分类Dev

如何在jstl中将数字格式化为正值或绝对值?

来自分类Dev

如何在javascript中将字符串/数字格式化为自定义模式?

来自分类Dev

jOOQ JSON格式化为对象数组

来自分类Dev

jOOQ JSON格式化为对象数组

来自分类Dev

jOOQ JSON格式化为对象数组

来自分类Dev

将数据数组格式化为对象

来自分类Dev

在R中将POSIXct日期格式化为DDMMMYYYY格式

来自分类Dev

在 Swift 中将日期格式化为 sql 日期格式

Related 相关文章

  1. 1

    无法将给定对象格式化为数字

  2. 2

    无法将给定对象格式化为数字组合框

  3. 3

    错误:无法将给定的对象格式化为日期,将日期格式化为新格式(Android)

  4. 4

    java.lang.IllegalArgumentException:无法将给定对象格式化为日期

  5. 5

    java.lang.IllegalArgumentException:无法将给定对象格式化为日期

  6. 6

    Java Localize DateFormat 无法将给定的对象格式化为日期

  7. 7

    Android:从JSON响应转换日期时出现错误“无法将给定对象格式化为日期”

  8. 8

    StandardWrapperValve [jsp]:Servlet jsp的Servlet.service()抛出异常java.lang.IllegalArgumentException:无法将给定对象格式化为日期

  9. 9

    在Python中将数字格式化为货币

  10. 10

    在Python中将数字格式化为货币

  11. 11

    如何在JasperSoft Studio中将数字格式化为2.564.894.621?

  12. 12

    在Flutter中将数字格式化为字符串

  13. 13

    将数字格式化为 2 位数:“需要对象”

  14. 14

    无法格式化为XMLGregorianCalendar

  15. 15

    如何在xsl中将数字格式化为日期时间格式?

  16. 16

    在语义MediaWiki中将Url的查询结果格式化为给定的字符串

  17. 17

    如何在PHP中将数字300格式化为3.0

  18. 18

    如何在POSIXct日期中将'day'格式化为一位数字

  19. 19

    如何在r的逻辑回归方法中将p值格式化为4位数字

  20. 20

    如何在Django中将数字从1000格式化为1k

  21. 21

    将日期用作数字,但在用户界面中将其格式化为日期

  22. 22

    如何在jstl中将数字格式化为正值或绝对值?

  23. 23

    如何在javascript中将字符串/数字格式化为自定义模式?

  24. 24

    jOOQ JSON格式化为对象数组

  25. 25

    jOOQ JSON格式化为对象数组

  26. 26

    jOOQ JSON格式化为对象数组

  27. 27

    将数据数组格式化为对象

  28. 28

    在R中将POSIXct日期格式化为DDMMMYYYY格式

  29. 29

    在 Swift 中将日期格式化为 sql 日期格式

热门标签

归档