我必须编写一个具有以下要求的程序:
我有一个 float 类型的变量,例如 float a = 3333.333f;
我有一个 int 类型的变量,例如 int b = 9999;
当我在计算器中执行a*b时,结果将是33329996.667
将小数四舍五入到 2 位后,我想在 java 中将该值打印为 33329996.67。我尝试使用 long、double、float、bigdecimal,但无法成功。
谁能帮我解决这个问题吗?
最佳答案
float
只有 7 位精度,因此对于超过 7 位的结果来说它不是一个好的选择。 double
的精度高达 16 位,是更好的选择。
double a = 3333.333;
int b = 9999;
System.out.printf("%.2f", a * b);
打印
33329996.67
关于java - 浮点到大十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11274247/