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);
相关推荐
左左右右左右摇晃2 小时前
String、StringBuffer、StringBuilder的区别
java·笔记
Lzh编程小栈2 小时前
数据结构与算法——单链表超详解(C语言完整实现 + 面试高频题)
c语言·开发语言·面试
沐知全栈开发2 小时前
Shell 函数
开发语言
2301_816651222 小时前
移动语义在容器中的应用
开发语言·c++·算法
稻草猫.2 小时前
MyBatis进阶:动态SQL与MyBatis Generator插件使用
java·数据库·后端·spring·mvc·mybatis
2401_857918292 小时前
实时数据处理中的C++应用
开发语言·c++·算法
2401_884563242 小时前
C++中的装饰器模式实战
开发语言·c++·算法
xiangpanf2 小时前
PHP vs Go:30秒读懂核心差异
java·开发语言
爱喝一杯白开水2 小时前
Java List 常用方法全攻略
java·list·排序算法