首页 > 解决方案 > 将 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'; 

它可以工作,但我不喜欢这个解决方案,因为我认为数据类型之间的大量转换会导致错误。我的代码是否完整,还是需要检查其他内容?

您将如何解决这个问题?

标签: javaarraystype-conversionintdouble

解决方案


我不知道直接的方式,但我认为它更简单:

int[] piArray = String.valueOf(pi)
                      .replaceAll("\\D", "")
                      .chars()
                      .map(Character::getNumericValue)
                      .toArray();

推荐阅读