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);
相关推荐
一定要AK13 分钟前
Spring 入门核心笔记
java·笔记·spring
A__tao14 分钟前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
KevinCyao27 分钟前
java视频短信接口怎么调用?SpringBoot集成视频短信及回调处理Demo
java·spring boot·音视频
lly20240629 分钟前
C 标准库 - `<stdio.h>`
开发语言
沫璃染墨31 分钟前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn99932 分钟前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏49434 分钟前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源
功德+n1 小时前
Linux下安装与配置Docker完整详细步骤
linux·运维·服务器·开发语言·docker·centos
明日清晨1 小时前
python扫码登录dy
开发语言·python
我是唐青枫1 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
开发语言·c#·.net