【发布时间】:2019-11-22 15:48:40
【问题描述】:
我正在尝试将一个字符数组转换为一个双精度数组,每个字符都在 0-1 之间,因此 a 将是 0 和 z 将是 1。目前,我已经想到了这个方法,
public static double[] charToDouble(char[] chars){
double[] doubles=new double[chars.length];
double one=1;
double twentySix=26;
double eachChar=one/twentySix;
for(int i=0; i<chars.length; i++){
int charNum=((int)input)-96;
doubles[i]=eachChar*charNum;
}
return doubles;
}
但a 将被转换为1/26 而不是0。
【问题讨论】:
-
1/26是整数除法 -
gblodgett 谢谢,我会编辑问题
标签: java char type-conversion double