gpt4 book ai didi

Java DecimalFormat 科学记数法问题

转载 作者:搜寻专家 更新时间:2023-10-31 19:31:38 25 4
gpt4 key购买 nike

我正在使用 Java 的 DecimalFormat以科学记数法打印数字的类。但是,我遇到了一个问题。无论值如何,我都需要字符串的长度是固定的,十的幂上的符号将其丢弃。目前,这是我的格式:

DecimalFormat format = new DecimalFormat("0.0E0");

这为我提供了以下组合:1.0E1、1.0E-1、-1.0E1 和 -1.0E-1。

我可以使用 setPositivePrefix 获得:+1.0E1、+1.0E-1、-1.0E1 和 -1.0E-1,或任何我喜欢的,但它不会影响力量的象征!

有什么方法可以让我拥有固定长度的字符串吗?谢谢!

编辑:啊,所以没有办法使用 Java 现有的 DecimalFormat API 来完成它?感谢您的建议!我想我可能必须将 DecimalFormat 子类化,因为我受到已经存在的接口(interface)的限制。

最佳答案

这对我有用,

DecimalFormatSymbols SYMBOLS = DecimalFormatSymbols.getInstance(Locale.US);

if (value > 1 || value < -1) {
SYMBOLS.setExponentSeparator("e+");
} else {
SYMBOLS.setExponentSeparator("e");
}

DecimalFormat format = new DecimalFormat(sb.toString(), SYMBOLS);

关于Java DecimalFormat 科学记数法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1213747/

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