使用 Java 中的 BigDecimal 类和 NumberFormat 类可以解决 BigDecimal 和指数问题。
代码示例:
import java.math.BigDecimal; import java.text.NumberFormat;
public class Test { public static void main(String[] args) { BigDecimal bd = new BigDecimal("123456789.987654321"); System.out.println("BigDecimal: " + bd);
// 将 BigDecimal 数据转换为科学计数的字符串形式
String bdString = bd.toEngineeringString();
System.out.println("科学计数的字符串形式: " + bdString);
NumberFormat formatter = NumberFormat.getNumberInstance();
formatter.setMaximumFractionDigits(5);
// 使用 NumberFormat 让科学计数的字符串形式按照指定格式输出
String formattedString = formatter.format(bd);
System.out.println("指定格式输出的字符串形式: " + formattedString);
} }
输出:
BigDecimal: 123456789.987654321 科学计数的字符串形式: 1.2345678998765432E8 指定格式输出的字符串形式: 123,456,789.98765