java - 将 double 转换为 int 数组
问题描述
我有双
double pi = 3.1415;
我想将其转换为 int 数组
int[] piArray = {3,1,4,1,5};
我想出了这个
double pi = 3.1415;
String piString = Double.toString(pi).replace(".", "");
int[] piArray = new int[piString.length()];
for (int i = 0; i <= piString.length()-1; i++)
piArray[i] = piString.charAt(i) - '0';
它可以工作,但我不喜欢这个解决方案,因为我认为数据类型之间的大量转换会导致错误。我的代码是否完整,还是需要检查其他内容?
您将如何解决这个问题?
解决方案
我不知道直接的方式,但我认为它更简单:
int[] piArray = String.valueOf(pi)
.replaceAll("\\D", "")
.chars()
.map(Character::getNumericValue)
.toArray();
推荐阅读
- google-bigquery - 使用 Bigquery 存储 API 时出错
- r - R:连续值函数之间的差值之和
- node.js - Nodejs socket.io 服务器选项
- flutter - 仅当 API 响应出现抖动时如何加载 UI?
- c++ - C++ 打印奇怪的行为(潜在的内存泄漏?)
- laravel - DataTable 标头在模态中不能很好地呈现
- java - SQLite 插入约束字段时出错 - 为什么?
- android - 在 Android 项目中使用 kotlin 后 APK 文件大小增加
- mysql - MySQL使用子字符串定位来修剪或获取特定的字符串集
- python - 记录python中的setlevel和addfilter有什么区别