假设我有以下号码:1286
现在我想删除最后一位数6
,最后只有前三位数128
。我也想使用数字6
和数字1286
作为输入。
此外,如果有一个c#解决方案会很棒。 感谢
修改 我想用6和1286之间的数学方程式做这个,我已经知道如何解析字符串了,这不是我想要的。
答案 0 :(得分:1)
string input = "OneTwoThree";
// Get first three characters
string sub = input.Substring(0, 3);
sub
现在将有来自字符串的前3个字符,0是起始位置,然后你想要多少个字符(即:3) - 这是(0,3)来的地方在它 - 如果你有(3,3),sub将等于“Two”
我认为这可能就是你要找的东西:)
答案 1 :(得分:1)
请尝试下面的代码:(这只是使用数学函数完成的,我也不知道C#)
java.util.Scanner s=new java.util.Scanner(System.in);
int last=s.nextInt();
int firstNumber=s.nextInt();
int ans=0;
loop:
for(int temp=firstNumber,i=0;temp>0;temp/=10)
{
if(temp%10==last){ans=temp/10;while(i>0){ans=ans*10+(i%10);i/=10;} break loop;}
i=i*10;
i=i+(temp%10);
}
if(ans>0)System.out.println(ans);
}
}
答案 2 :(得分:0)
在JavaScript中:这是您的号码:
var num = 1286;
此行删除最后一位数字:
num % 10; //returns 6
这两行删除了6:
num /= 10 // turns num to 128.6
num = Math.trunc(num) // num now equals 128
更好的是,你可以把它放在一个函数中,就像这样:
function sumOfDigits(num) {
const sumArr = [];
while (num > 0) {
sumArr.push(num % 10);
num /= 10;
num = Math.trunc(num);
}
return sumArr.reduce((a, b) => a + b, 0);
}
sumOfDigits(1234);
// returns 10
希望这有帮助。