java - Java中如何将 float 转换为十进制

标签 java binary decimal

我想编写一个将浮点二进制数转换为十进制数的程序。我知道如何将普通二进制数转换为十进制数,但我想将浮点二进制数转换为尾数为 10、指数为 6 的十进制数。

同时我想使用输入来获取二进制值,例如 System.out.println("请输入一个二进制数"); 然后使用扫描仪获取输入。这可能吗?

最佳答案

给定一个像“101011.1011”这样的字符串,一种方法是:

  1. 使用 String.split 将字符串拆分为两位。
  2. 使用 BigInteger 构造函数 BigInteger(String s, int radix)radix == 2 来获取两个 BigInteger 代表 101011101110000
  3. 使用 BigDecimal 构造函数将 BigInteger 转换为 BigDecimal
  4. 划分答案。

不知道有没有更简单的方法

关于java - Java中如何将 float 转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32936325/

相关文章:

java - 十六进制字符数组转十进制

c# - 在 C# 中,十进制值在第一个小数点处停止

python - 在 Python 中子类化 Decimal

java - 发送请求(camel-http)后如何处理错误?

java - 获取 Logger 的惯用 Kotlin 方式是什么?

java - 二维数组 - 错误的 "Wall "放置?

c++ - 二进制计算器减法

floating-point - 最大的非规范化和规范化数是多少?(64 位,IEEE 754-1985)

java - HttpClient setHeader 和 addHeader 有什么区别?

assembly - 如何检查 x86 程序集中是否设置了多于一位?