如何将示例1.07转换为7%,将1.50转换为50%,将2.25转换为125%e.t.c.

到目前为止,我的代码不起作用:

private static final NumberFormat PERCENTAGE_FORMAT = NumberFormat.getInstance();
PERCENTAGE_FORMAT.setMaximumFractionDigits(0);
PERCENTAGE_FORMAT.format(1.07, "%")

推荐答案

您可以这样做:

double number = 1.15;

int percentage = (int) Math.round((number - 1) * 100);

System.out.println(percentage + "%"); // Output: 15%

要将十进制数转换为其百分比表示为1,您需要首先减go 1.

Java相关问答推荐

我可以在regex中的字符类中放置断言吗?

Java Streams在矩阵遍历中的性能影响

Java应用程序崩溃时试图读取联系人从电话

scanner 如何在执行hasNextLine一次后重新读取整个文件?

从技术上讲,OPC UA客户端是否可以通过转发代理将请求通过 tunel 发送到OPC UA服务器?

滚动视图&不能在alert 对话框中工作(&Q;&Q;)

将不受支持的时区UT重写为UTC是否节省?

Java 21 struct 化连接货币,需要可预知的子任务异常排序

在AVL树的Remove方法中使用NoSuchElementException时遇到问题

如何在Application.yaml中连接字符串?

使用Jolt将字段转换为列表

在macOS上读取文件会导致FileNotFound,即使文件存在(并且具有权限)

FETCH类型设置为LAZY,但它仍会发送第二个请求

如何在EL处理器中定义带有命名空间的变量?

为什么这种递归会有这样的行为?

在整数列表中查找和可被第三个整数整除的对时出现无法解释的RunTimeError

将java.util.Date(01.01.0001)转换为java.time.LocalDate将返回29.12.0000

在具有Quarkus Panache的PostgreSQL中将JSON数据存储为JSONB时,会将其存储为转义字符串

无限递归Java问题

Java中的一个错误';s stdlib SocksSocketImpl?