gpt4 book ai didi

java - 格式化双Android

转载 作者:太空宇宙 更新时间:2023-11-03 10:23:00 24 4
gpt4 key购买 nike

我想转例如5999.635554 到 5 999,63。我在下面使用了 DecimalFormat 方法:

public static String decimalDoubleForm(double value){

DecimalFormat df = new DecimalFormat("#,###,###.00");
String formatted_value = df.format(value).replaceAll("\\.", ",");

return formatted_value;

}

然而,当我使用它时,它是 Util.decimalDoubleForm(value); 例如-4000.4343 我得到以下 -4,000,43

我想要的结果应该是 -4000.4343 => -4 000,43

最佳答案

如果你想让-4,000.43(来自format()调用的字符串)变成-4 000,43,你可以这样做两个替换。

首先是将所有,字符替换为空格,然后将所有.字符替换为,

String formatted_value = df.format(value)
.replaceAll("," , " ")
.replaceAll("\\.", ",");

当您想交换 时会出现问题。 (a) 但您仍然可以这样做那,尽管有一个三步过程:

comma  => X
period => comma
X => period

(其中 X 是字符串中未出现的任何字符,例如 "X")。

但是,可能已经有一个格式字符串可以用于此目的而无需替换字符串。来自 here , 似乎特殊字符已本地化,因此应该有一种方法可以根据语言环境创建具有特定 DecimalFormatSymbolDecimalFormat

至少在 Java 内部是这样的。 Java Android 是否可以做同样的事情,我不确定。众所周知,他们以前对国际化采取不同的策略。


(a) 该死的欧洲人和他们有趣的数字格式:-)

关于java - 格式化双Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16767786/

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