如何在java中显示50位或更多(例如乘法)?

如何在java中显示50位或更多(例如乘法)?,java,calculator,digits,Java,Calculator,Digits,我有一个项目,要求我用java设计一个计算器,我应该把它放到chioices上,让用户选择显示50位或100位 你知道的问题是,当我做乘法或者任何其他大数运算时,它不会显示所有的数字,它会显示大约20个数字,左边是E(一些数字) 我尝试使用BigDecimal和DecimalFormat,但我无法解决它。看看这个类(或者如果你对小数点不感兴趣,看看这个类)。它可以打印任意数量的数字。(无需使用DecimalFormatbtw) 输出: 121932631356500531591068431581

我有一个项目,要求我用java设计一个计算器,我应该把它放到chioices上,让用户选择显示50位或100位

你知道的问题是,当我做乘法或者任何其他大数运算时,它不会显示所有的数字,它会显示大约20个数字,左边是E(一些数字)

我尝试使用
BigDecimal
DecimalFormat
,但我无法解决它。

看看这个类(或者如果你对小数点不感兴趣,看看这个类)。它可以打印任意数量的数字。(无需使用
DecimalFormat
btw)

输出:

121932631356500531591068431581771069347203169112635269
使用BigDecimal

System.out.println(new BigDecimal(1.1).multiply(new BigDecimal(1.8)));
打印104位数字

1.9800000000000002087219286295294335439472797061332458086428264139311483660321755451150238513946533203125

使用valueOf可按预期转换
双精度

System.out.println(BigDecimal.valueOf(1.1).multiply(BigDecimal.valueOf(1.8)));
印刷品

1.98

BigDecimal
是正确的答案,所以您必须在这方面再努力一点。谢谢大家,它很管用!,但不是特定的位数,而是自由位数,谢谢。您可以使用
setScale()
1.98