java - 如何在 Java 中获取 10 的幂的双倍指数?

标签 java double

(抱歉,我不知道描述这个问题的最佳关键词是什么。)

主要问题是,如果我在 java 中有一个双数,比如说 25.003,我怎么知道这个数字可以写成 25003 x 10^(-3)这样我可以得到指数部分 (-3)

我唯一想要的就是得到那个指数 (-3)。(所以我知道我可以将 25.003 乘以 1000 使其成为一个整数)有没有什么方法可以给我那个指数数?

非常感谢。

最佳答案

如果您将其视为字符串,这实际上非常简单。

private static int getExponentForNumber(double number)
{
    String numberAsString = String.valueOf(number);
    return numberAsString.substring(numberAsString.indexOf('.') + 1).length() * -1;
}

这只是返回“.”之后的长度。这是你的负指数。所以你真的可以像那样使用它:

int exponent = getExponentForNumber(25.003);
int basis = Integer.valueOf(String.valueOf(25.003).replace(".", ""));
String expression = "25.003 equals " + basis + "*10^" + exponent;
System.out.println(expression);

25.003 equals 25003*10^-3

关于java - 如何在 Java 中获取 10 的幂的双倍指数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52993177/

相关文章:

java - 在代码中删除XML文件中的内容

java - websocket 上可能有不同的语言吗?

c++ - 通过错误检查将 wstring 转换为 double 的方法

java - TextView 不以科学记数法显示大值

swift - 在 swift 中将 double 值四舍五入到 x 小数位

c - 使用 C 在单个 printf 语句中打印多个不同的内容

java - JProgressBar setValue 不起作用,也尝试使用 SwingUtilities

java - 使用 Guava Reflection 引用私有(private)字段

java - 带有 JWT 的 Spring Security for REST API

java - 在Kotlin中乘以小数