当前位置: 首页 > 知识库问答 >
问题:

使用将字符串格式更改为NumberFomat,我的例外是不能将给定的对象格式化为数字

林修真
2023-03-14
 Document document = convertStringToDocument(response.getBody());
 String error = Objects.requireNonNull(document).getElementsByTagName("status").item(0).getTextContent();
 NumberFormat nf = NumberFormat.getInstance(new Locale("sk", "SK"));
 String value = nf.format(Long.toString(Long.parseLong(Objects.requireNonNull(document)
                .getElementsByTagName("paramValue").item(0).getTextContent())/100));//here exception
 List<ValueItem> valueItems = new LinkedList<>();
 ValueItem balance = new ValueItem();
 balance.setKey("balance");
 balance.setName("Баланс");
 balance.setValue(value);
 valueItems.add(balance);
 additionalSuppliersReturn.setValueItems(valueItems);

共有1个答案

秦禄
2023-03-14
String str = "1000048.35";
NumberFormat numberFormat = NumberFormat.getNumberInstance(new Locale("sk","SK"));
Number number = new BigDecimal(str);
System.out.println(numberFormat.format(number));

问题是逗号,你不能把它分成大的小数或双倍值。你可以用点替换。

str = str.replace(",",".");

在您可以使用的最简单的解决方案中:

String str = "1000048,35";
System.out.println(NumberFormat.getNumberInstance(new Locale("sk","SK")).parse(str));

最终解决方案:

    try {
        String str = "1000048,35";
        NumberFormat numberFormat = NumberFormat.getNumberInstance(new Locale("sk", "SK"));
        Number number = numberFormat.parse(str);
        System.out.println(numberFormat.format(number));
    } catch (ParseException e) {
        e.printStackTrace();
    }
 类似资料:
  • 本文向大家介绍VBA 使用格式将数字类型转换为字符串并将其格式化为字符串,包括了VBA 使用格式将数字类型转换为字符串并将其格式化为字符串的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 问题内容: 我是Python新手,在格式化对象时遇到问题。 这是我要执行的操作:我有一个对象列表,并且该对象的类的成员之一是对象,它显示事件的持续时间。我想以小时:分钟的格式显示该持续时间。 我尝试了多种方法来执行此操作,但遇到了困难。我当前的方法是为返回小时和分钟的对象添加方法到类中。我可以将除以3600并四舍五入来获得小时数。我在获取剩余秒数并将其转换为分钟时遇到麻烦。 顺便说一下,我正在使用

  • 我试图用一种特定的格式将“即时”格式化为“字符串”。基于这里的问题,我正在做这个- 有什么关于为什么会这样的建议吗? 谢谢

  • 问题内容: 但是我没有错。这是我的代码 该方法采用Object类型参数,因此这就是为什么我传递了一个给出异常的String对象的原因 线程“主”中的异常java.lang.IllegalArgumentException:无法 将给定对象格式化为数字。 但是,当我给出double值作为参数时,程序运行良好。但是,如果使用类型实参定义该方法,为什么在传递a 时却得到异常而在传递时却没有得到异常? 问

  • 这可能看起来像是一个重复的问题,但我在下面的所有链接中都尝试了,不能得到一个适当的答案。 无法将给定对象格式化为数字组合框