gpt4 book ai didi

java |将 Double 拆分为 2 个整数|将 substring 和 valueOf 与 str 缓冲区一起使用时出现错误

转载 作者:行者123 更新时间:2023-11-30 08:13:02 26 4
gpt4 key购买 nike

这是我在这个网站上的第一个问题。我想做的是使用 1 个实例变量来创建一个矩阵数组。

长话短说,我尝试使用 double 并将每个“侧面”用作单独的“实例变量”。

它确实有效,一旦...当我再次尝试使用它后,我得到:

at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.valueOf(Unknown Source)

我的问题是:

  1. 为什么多次失败,为什么会发生错误?
  2. 有更好的方法吗? (虽然仍然只使用 1 个实例变量)

这是我的一些代码:

/**
* Get the fractional part of the double
* @return the fractional part as an int
*/
private int getY() {
String buffer = "";
int i = 0;
double xyCopy = _xy;
while (xyCopy > 0) {
xyCopy = (int) ((int) xyCopy / 10);
i++;
}
buffer = String.valueOf(_xy);
buffer = buffer.substring(i + 1);
i = Integer.valueOf(buffer);
return i;
}

private void setY(int yDimension) {
int i=0;
double yCopy = yDimension;
while (yCopy > 0) {
yCopy = (int) ((int) yCopy / 10);
i++;
}
_xy = _xy + (yDimension * Math.pow(10, -i));
}

最佳答案

为什么这么复杂?您也可以使用字符串将小数部分获取为整数,如下所示:

String s = String.valueOf(someDouble);
int after = s.indexOf('.');
int fractional = Integer.valueOf(s.substring(after + 1));

关于 java |将 Double 拆分为 2 个整数|将 substring 和 valueOf 与 str 缓冲区一起使用时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30088950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com