java - 如何仅使用强制转换来显示数字的前 2 位小数?

标签 java casting

Scanner scan = new Scanner (System.in);

System.out.println("Please input a decimal number:");
    double a = scan.nextDouble();  
    int b = (int)a; 
    double answer = (a - b);    

System.out.println("Answer: " + answer);

这是我所拥有的,但正如所写,它将显示所有小数部分,我只想要前 2 位小数。这意味着我输入 7.239485,我会得到 23 作为输出。另外,当我只输入小数点后两位时,我得到了一个非常接近的近似值。这意味着 7.23 将返回 0.229989898999 或类似的值。

最佳答案

这应该可以满足您的要求。

double x = 7.232323;
int y = (int) (x % 1 * 100);

关于java - 如何仅使用强制转换来显示数字的前 2 位小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25714644/

相关文章:

java - 使用 JavaFX 的场景或自定义控件中的场景

java - 如何将 java.sql.timestamp 转换为 LocalDate (java8) java.time?

java - 如何防止在 java 接口(interface)中强制转换或创建子特定方法?

c# - 如何在 C# 中将泛型类转换为泛型接口(interface)

c++ - 使用 mqqueue 将数据读入缓冲区时出现问题

java - 使用堆栈和队列对数组进行排序

java - 如何实现 mouseListener

java - 如何使用java等语言屏蔽个人身份信息?

c++ - 自动将 C 代码的转换元素移植到 C++

c - 为什么转换和取消引用结构指针会丢失信息?