gpt4 book ai didi

java - 查找整数的目标数字

转载 作者:行者123 更新时间:2023-12-03 02:47:50 24 4
gpt4 key购买 nike

我可以使用哪些方法返回整数的特定数字?

//val = number to find target digit on
//dig = the digit to return from right-side
private int digit(int val, int dig) {
String num = "" + val;
return Character.getNumericValue(num.charAt(num.length-dig));
}

例如,如果 val 为“48602”,并且我想获取第二位数字(十分位),它将返回“0”。

这是一种丑陋的方法,但是有没有一种完全不使用字符串的方法?也许用模?如果我想找到第 7 位数字(百万分之一),这个方法甚至不起作用(该数字必须解析为“0048602”)。

潜在用途是基数排序(根据有效数字将数字放入“桶”中)。我发现使用这种方法相对费力。

最佳答案

有一个想法

private int digit(int val,int dig){
int div = 1;
for(int i=0;i<dig;i++)
div*=10; //make 10^dig
val/=div; //remove the smaller digits
return val%10; //return only one digit
}

未测试

编辑更好的方法:

private int digit(int val,int dig){
int div = (int)Math.pow(10,dig);
val/=div; //remove the smaller digits
return val%10; //return only one digit
}

关于java - 查找整数的目标数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31458083/

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