Processing 无法从浮点转换为int处理/Java
我这里有一些代码:Processing 无法从浮点转换为int处理/Java,processing,Processing,我这里有一些代码: int mutate(浮点x){ if(随机(1)
int mutate(浮点x){
if(随机(1)<.1){
浮点偏移=随机高斯()/2;
浮动纽x=x+偏移;
返回newx;
}否则{
返回x;
}
}
这段代码在返回值的两个示例上都给出了一个错误,该值表示“类型不匹配:无法从float转换为int”。我的代码怎么了
提前感谢。您需要将返回类型更改为float,以便返回十进制值(如果您感兴趣):
float mutate(float x){
if(随机(1)<.1){
浮点偏移=随机高斯()/2;
浮动newx=x+偏移量;
返回newx;
}否则{
返回x;
}
}
您需要将返回类型更改为float以返回十进制值(如果您感兴趣):
float mutate(float x){
if(随机(1)<.1){
浮点偏移=随机高斯()/2;
浮动newx=x+偏移量;
返回newx;
}否则{
返回x;
}
}
首先,记住int
和float
是什么:
只能保存不带小数点的整数,如int
、1
和42
-54321
可以保存带小数点的数字,如float
、0.25
和1.9999
-543.21
int
还是float
值?如果它应该是一个float
值,那么您只需将函数的返回类型更改为float
。如果您希望它返回一个int
值,那么您必须重新考虑函数内部的逻辑,以便它使用int
值
请注意,您可以使用
int()
函数将float
转换为int
。更多信息可以在中找到。首先,记住int
和float
是什么:
只能保存不带小数点的整数,如int
、1
和42
-54321
可以保存带小数点的数字,如float
、0.25
和1.9999
-543.21
int
还是float
值?如果它应该是一个float
值,那么您只需将函数的返回类型更改为float
。如果您希望它返回一个int
值,那么您必须重新考虑函数内部的逻辑,以便它使用int
值
请注意,您可以使用
int()
函数将float
转换为int
。更多信息可以在中找到。你应该养成研究问题的习惯。谷歌搜索你的错误信息会给你一大堆解释发生了什么的结果。你应该养成研究问题的习惯。谷歌搜索你的错误信息会给你一大堆解释发生了什么的结果。
float mutate(float x){
if (random(1) < .1){
float offset = randomGaussian()/2;
float newx = x + offset;
return newx;
} else {
return x;
}
}