gpt4 book ai didi

java - 如何使用 Formatter 在 Java 中格式化字符串

转载 作者:搜寻专家 更新时间:2023-11-01 09:02:16 25 4
gpt4 key购买 nike

public class Test {
public static void main(String[] args) {
final String test1 = new String("01,");
final String test2 = new String("01,0");
final String test3 = new String("1,00");

String pattern = "##,##";
DecimalFormat formatter;
DecimalFormatSymbols dfs = new DecimalFormatSymbols();
dfs.setGroupingSeparator(',');

formatter = new DecimalFormat(pattern, dfs);
String result1 = formatter.format(test1);
String result2 = formatter.format(test2);
String result3 = formatter.format(test3);

System.out.println("Result 1 == " + result1);
System.out.println("Result 2 == " + result2);
System.out.println("Result 3 == " + result3);
}
}

我正在尝试格式化字符串。我添加了用于格式化的代码。我越来越异常(exception)。

我希望所有这些的结果都是 01,00。

异常 -

Exception in thread "main" java.lang.IllegalArgumentException: Cannot format given Object as a Number
at java.text.DecimalFormat.format(DecimalFormat.java:487)
at java.text.Format.format(Format.java:140)
at com.test.Test.main(Test.java:21)

如果有人有任何想法,请指导我。

最佳答案

DecimalFormat.format 只接受 DateNumber 对象,不接受 String!

EDIT-1:

1) 字符串模式 = "00.00"

2)

        String result1 = formatter.format(formatter.parse(test1));
String result2 = formatter.format(formatter.parse(test2));
String result3 = formatter.format(formatter.parse(test3));

例如:对于

    final String test1 = new String("01,");
final String test2 = new String("02,3");
final String test3 = new String("1,00");

它给了我:

Result 1 == 01,00
Result 2 == 02,30
Result 3 == 01,00

关于java - 如何使用 Formatter 在 Java 中格式化字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231886/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com