JAVA中对数的表达,将浮点数转为保留指定位数的字符串

在 Java 中没有直接提供 log₂(x) 方法 ,但可以用换底公式轻松实现:log2​(x)=ln(2)ln(x)​=log10​(2)log10​(x)​

Java 标准库 Math 类提供了:

  • Math.log(x):自然对数(ln,以 e 为底)
  • Math.log10(x):以 10 为底的对数

String 格式化将浮点数转为保留指定位数的小数

复制代码
double num = 3.1415926;
String result = String.format("%.4f", num);
System.out.println(result); // 3.1416(四舍五入)

精确计算场景:使用 BigDecimal

复制代码
import java.math.BigDecimal;
import java.math.RoundingMode;

double num = 3.1415926;
BigDecimal bd = new BigDecimal(num).setScale(4, RoundingMode.HALF_UP);
double res = bd.doubleValue();

输出用:DecimalFormat

复制代码
import java.text.DecimalFormat;

double num = 3.1415926;
DecimalFormat df = new DecimalFormat("#.0000");
String res = df.format(num);
相关推荐
程序员黑豆4 小时前
AI全栈开发 - Java:变量
java·前端·ai编程
我是一颗柠檬4 小时前
【Java项目技术亮点】分库分表+数据路由策略:单表5000万后的架构升级方案
java·开发语言·分布式·架构
wu_ye_m4 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
布朗克1684 小时前
25 IO流高级操作——序列化、NIO与Files工具类
java·数据库·io·nio
njsgcs4 小时前
c# solidworks 创建装配体工程图+bom
开发语言·c#·solidworks
小研说技术4 小时前
Spring AI实现rag流程(简易版)
java·后端
亓才孓5 小时前
【本地项目引用外部库的类,想修改字段遇到的请缓存的问题】
java·maven
小林敲代码77885 小时前
记录一下IDEA中很多变量变色的方案
java·开发语言·spring boot·idea
南知意-5 小时前
IDEA 2026.1最新版安装教程
java·ide·intellij-idea·idea安装·idea激活
njsgcs5 小时前
c# solidworks 工程图获得展开视图不在固定面螺纹特征的位置
开发语言·c#·solidworks